Onyx

approved

by Jesse

Edit source files with CodeMirror 6 and language servers, without leaving the app. - This plugin has not been manually reviewed by Obsidian staff.

32 downloadsUpdated 16d agoMIT

Onyx

Onyx is an Obsidian plugin for editing source files with CodeMirror 6 and language-server support without leaving Obsidian.

Features

  • Edit common programming and data-file formats inside Obsidian.
  • Syntax highlighting, code completion, diagnostics, hover information, and go-to-definition through supported language servers.
  • Multiple synchronized editor panes, file navigation, Git gutter indicators, and configurable autosave behavior.
  • A source-ordered, nested code outline in the right sidebar, with the current namespace/class/function chain shown in the editor's navigation breadcrumb.

Onyx is desktop-only. Language servers are configured explicitly by each project. Put onyx.toml at the project root, for example:

name = "My C++ project"

[lsp.cpp]
command = ["nix", "develop", ".", "-c", "clangd"]

The file's directory is the project root. Commands are exact argument arrays: Onyx does not invoke a shell, guess project boundaries, choose server versions, or modify PATH. Before running a new or changed configuration, use Onyx: Trust current project's language server and review the displayed command.

Installation

Install Onyx through Obsidian's community plugins browser when it becomes available. For a manual installation, download main.js, manifest.json, and styles.css from a release and place them in:

<vault>/.obsidian/plugins/onyx/

Restart Obsidian, then enable Onyx under Settings → Community plugins.

Development

npm install
npm test
npm run lint
npm run build

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.