1. Introduction
  2. Editor Integration
  3. Common Configurations
  4. 1. Editor Frontends
    1. 1.1. VS Cod(e,ium)
    2. 1.2. Neovim
    3. 1.3. Emacs
    4. 1.4. Sublime Text
    5. 1.5. Helix
    6. 1.6. Zed
  5. Features
  6. 2. Command line interface
  7. 3. Code Documentation
  8. 4. Code Completion
  9. 5. Exporting Documents
  10. 6. Document Preview
  11. 7. Testing
  12. 8. Linting
  13. 9. Other Features
  14. Service Overview
  15. Overview of Service
  16. 10. Principles
  17. 11. Commands System
  18. 12. LSP Inputs
  19. 13. Type System
  20. Service Development
  21. 14. Crate Docs
  22. 15. LSP and CLI
  23. 16. Language Queries
  24. 17. Document Preview

Tinymist Docs

#

Using LSP-Based Completion

LSP will serve completion if you enter trigger characters in the editor. Currently, the trigger characters are:

  1. any valid identifier character, like 'a' or 'Z'.
  2. '#', '(', '<', '.', ':', '/', '"', '@', which is configured by LSP server.

#

VSCode:

Besides, you can trigger the completion manually by pressing Ctrl+Space in the editor.

If Ctrl+Space doesn't work, please check your IME settings or keybindings.

When an item is selected, it will be committed if some character is typed.

  1. press Esc to avoid commit.
  2. press Enter to commit one.
  3. press '.' to commit one for those that can interact with the dot operator.
  4. press ';' to commit one in code mode.
  5. press ',' to commit one in list.

#

Label Completion

The LSP will keep watching and compiling your documents to get available labels for completion. Thus, if it takes a long time to compile your document, there will be an expected delay after each editing labels in document.

A frequently asked question is how to completing labels in sub files when writing in a multiple-file project. By default, you will not get labels from other files, e.g. bibiliography configured in other files. This is because the "main file" will be tracked when your are switching the focused files. Hence, the solution is to set up the main file correctly for the multi-file project.

#

VSCode:

See VS Code: Working with Multiple File Projects.

#

Neovim:

See Heovim: Working with Multiple File Projects.

#

Helix:

See Helix: Working with Multiple File Projects.

#

Using Snippet-Based Completion

#

VSCode:

We suggest to use snippet extensions powered by TextMate Scopes. For example, HyperSnips provides context-sensitive snippet completion.