mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-12-23 08:47:50 +00:00
Some checks are pending
tinymist::auto_tag / auto-tag (push) Waiting to run
tinymist::ci / announce (push) Blocked by required conditions
tinymist::ci / build (push) Blocked by required conditions
tinymist::ci / Duplicate Actions Detection (push) Waiting to run
tinymist::ci / Check Clippy, Formatting, Completion, Documentation, and Tests (Linux) (push) Waiting to run
tinymist::ci / Check Minimum Rust version and Tests (Windows) (push) Waiting to run
tinymist::ci / prepare-build (push) Waiting to run
tinymist::gh_pages / build-gh-pages (push) Waiting to run
This PR adds comprehensive documentation for the Neovim Tinymist plugin, establishing it as the canonical implementation of a Tinymist editor language client. ## Changes Made ### Added `editors/neovim/Specification.md` The specification was a mess, so I the reviewer deleted it. ### Enhanced `editors/neovim/CONTRIBUTING.md` Expanded the contributing guide to document: - **Canonical Implementation Status**: Establishes this as the heavily-documented reference implementation for other editors - **Bootstrap Script Commands**: - `./bootstrap.sh editor` - Interactive editing experience in Docker - `./bootstrap.sh test` - Headless test execution - `./bootstrap.sh bash` - Development shell access - **Test Suite Structure**: Overview of all spec files and their testing purposes - **Contribution Patterns**: Guidelines for maintaining the reference implementation ### Updated `.github/copilot-instructions.md` Added guidance for working with editor integrations: - **Repository Structure**: Notes the Neovim plugin as canonical implementation with documentation links - **Editor Integration Guidelines**: New section specifically for referencing Neovim patterns - **Development Workflow**: References to bootstrap commands and documentation ## Why This Matters The Neovim plugin now serves as the **canonical implementation** that other editor integrations can reference for: - LSP client setup patterns and configuration handling - Event subscription mechanisms for development events - Project resolution modes (singleFile vs lockDatabase) - Export functionality patterns (onSave, onType, never) - Comprehensive test coverage examples This documentation enables maintainers and contributors to understand the complete scope of the Neovim integration and provides a reference for implementing similar functionality in other editors. Fixes #2081. <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/Myriad-Dreamin/tinymist/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com> Co-authored-by: Myriad-Dreamin <camiyoru@gmail.com>
33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
# Neovim Tinymist Plugin Specification
|
|
|
|
This document describes the comprehensive specification for the Neovim Tinymist plugin, which provides Language Server Protocol (LSP) integration for Typst documents. This plugin serves as the heavily-documented canonical implementation of an editor language client for Tinymist.
|
|
|
|
The specification has special formats:
|
|
|
|
Example of document a concept or object:
|
|
|
|
```md
|
|
## Tinymist Views
|
|
|
|
There are following views in the [_Tinymist Views_](#tinymist-views):
|
|
|
|
- [_Symbol View_](#symbol-view)
|
|
- [_Tool View_](#tool-view)
|
|
- [_Package View_](#package-view)
|
|
- [_Content View_](#content-view)
|
|
- [_Label View_](#label-view)
|
|
- [_Outline View_](#outline-view)
|
|
```
|
|
|
|
Example of document the actions of a object:
|
|
|
|
```markdown
|
|
### Symbol View
|
|
|
|
There are following actions that you can perform in the [_Symbol View_](#symbol-view):
|
|
|
|
|
|
- Search Symbol by Names: You can search for a symbol by its name. The search is case-insensitive and supports partial matching.
|
|
- Search Symbol by Handwritten Strokes: You can draw a symbol and search for it. The symbol will be highlighted.
|
|
- Click to paste: You can click on a symbol to paste it to the editor.
|
|
```
|