# dsh-code-nav DSH (DeepSeek Harness) web plugin β€” **code preview navigator** for [dsh-better-sidebar](https://github.com/omdsh-dev/DSH-better-sidebar). When you open a code file in the sidebar, it detects the language by file type and takes over the preview with: - 🎨 **Per-language syntax highlighting** β€” extension β†’ language detection with a lightweight hand-rolled tokenizer (comments / strings / keywords / types / numbers / functions); light & dark palettes follow the app theme automatically - 🧭 **Symbol outline navigation** β€” parses `class` / `interface` / `struct` / `enum` / `impl`, methods / functions, variables / fields / constants; filter by **All / Class / Method / Variable** chips, or jump from a dropdown symbol list (line flash on jump) - πŸ” **In-file search** β€” highlights all matches, emphasizes the current one, shows `n/m` count, navigates with ↑/↓ buttons or `Enter` / `Shift+Enter`, with a match-case toggle ## Prerequisites - DSH (`dsh web`) running - [dsh-better-sidebar](https://www.npmjs.com/package/dsh-better-sidebar) installed (including the bundled scenario via the aggregate package `@linxin666/dsh-web-ui-all`) ## Install ```sh dsh plugin --profile web add https://github.com/AnakinCao/dsh-code-nav.git ``` Then **restart `dsh web`** (a new bundle needs a host-side reload) and **hard-refresh** the browser (Cmd/Ctrl+Shift+R). > The plugin shows up as an enable/disable card in the better-sidebar settings ("Code Preview Navigator"); disabling it falls back to the built-in CodeMirror editor. ## Supported languages | Family | Extensions | |---|---| | JavaScript / TypeScript | `.js` `.mjs` `.cjs` `.ts` `.jsx` `.tsx` | | Python | `.py` | | Java / C# | `.java` `.cs` | | C / C++ | `.c` `.h` `.cpp` `.cc` `.cxx` `.hpp` `.hh` `.hxx` | | Go / Rust | `.go` `.rs` | | PHP / Ruby | `.php` `.rb` | | Swift / Kotlin | `.swift` `.kt` `.kts` | | Lua / Shell | `.lua` `.sh` `.bash` `.zsh` | | Vue / Svelte | `.vue` (parses the `