Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | nix: add overlay for convenient package usage (#7078) | Yt | 2023-05-19 |
| | |||
* | Merge pull request #2507 from Philipp-M/multiple-language-servers | Blaž Hrastnik | 2023-05-19 |
|\ | | | | | Add support for multiple language servers per language | ||
| * | Rebase cleanup/fixes and use lsp::CompletionItem in item_to_transaction directly | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Clarify language-servers documentation for mergeable LSP features ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | (`diagnostics`, `code-action`, `completion`, `document-symbols` and `workspace-symbols`) | ||
| * | Sort language servers table in languages.toml and rename language server 'R' ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | to 'r' | ||
| * | Apply all review suggestions (doc_id -> id, error message, unnecessary if) | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Simplify gutter diagnostics rendering by using partition_point instead of ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | | | | | binary search Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Some minor clarity/cosmetic improvements | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Add function `Editor::language_server_by_id` and refactor/simplify related ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | code, also don't 'crash' in completion menu if language_server somehow disappeared | ||
| * | Remove TODO comment in helix_lsp::Registry::restart and add doc-comment on ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | top of function instead | ||
| * | Reorder id generation for Clients to stay close to the old behavior | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Reduce boilerplate by 'use lsp::*' in Client::supports_feature, and remove ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | TODO comment | ||
| * | Fix lsp_restart across multiple different document scopes (language servers ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | weren't restarted, if not of the same scope id), and fix some smaller rebase issues | ||
| * | Fix crash with filtered diagnostics in gutter (e.g. when diagnostics aren't ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | visible) | ||
| * | Remove offset_encoding in CodeActionOrCommandItem, as it can be retrieved on ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | demand | ||
| * | Maintain language servers TOML array order in `doc.language_servers` | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Filter language servers also by capabilities in ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | | | | | | | | | | | `doc.language_servers_with_feature` * Add `helix_lsp::client::Client::supports_feature(&self, LanguageServerFeature)` * Extend `doc.language_servers_with_feature` to use this method as filter as well * Add macro `language_server_with_feature!` to reduce boilerplate for non-mergeable language server requests (like goto-definition) * Refactored most of the `find_map` code to use the either the macro or filter directly via `doc.language_servers_with_feature` | ||
| * | Fix docgen again | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Filter out already seen language servers in requests that can be sent to ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | multiple language servers (code-action, completion, symbol pickers) | ||
| * | Optimize gutter diagnostics and simplify shown_diagnostics | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Use let else instead of variable and fix some error messages | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Remove offset_encoding in CompletionItem | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Refactor doc language servers to a HashMap, and the config to use a Vec to ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | retain order | ||
| * | Remove symbol picker is_empty check | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Simplify 'lsp_stop' command | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Fix docgen and lsp-stop documentation | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Remove boilerplate in the goto methods by generically composing functions | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Format/fix language docs a bit | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Refactor doc.shown_diagnostics to avoid an extra HashSet | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Add method doc.supports_language_server for better readability | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Simplify Display implementation for LanguageServerFeature | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Refactored doc.language_servers and doc.language_servers_with_feature to ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | | | | | return an iterator and refactor LanguageServerFeature handling to a HashMap (language server name maps to features) Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Use DoubleEndedIterator instead of collect to Vec for reversing | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | Fix error messages when no language server is available | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Skyler Hawthorne <skyler@dead10ck.com> | ||
| * | Simplify Display implementation of LanguageServerFeature | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | Co-authored-by: Ivan Tham <pickfire@riseup.net> | ||
| * | Fix sorting issues of the editor wide diagnostics and apply diagnostics ↵ | Philipp Mildenberger | 2023-05-18 |
| | | | | | | | | | | | | related review suggestions Co-authored-by: Pascal Kuthe <pascal.kuthe@semimod.de> | ||
| * | str instead of String | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Remove unnecessary completion support check (likely an artifact) | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Fix issue with ltex-ls, filtering params is not what we want here | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Fix hardcoded offset_encoding | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Fix some lints/docgen hints | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Fix 'WorkspaceConfiguration' request with empty configuration section strings | Philipp Mildenberger | 2023-05-18 |
| | | |||
| * | Adds support for multiple language servers per language. | Philipp Mildenberger | 2023-05-18 |
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Language Servers are now configured in a separate table in `languages.toml`: ```toml [langauge-server.mylang-lsp] command = "mylang-lsp" args = ["--stdio"] config = { provideFormatter = true } [language-server.efm-lsp-prettier] command = "efm-langserver" [language-server.efm-lsp-prettier.config] documentFormatting = true languages = { typescript = [ { formatCommand ="prettier --stdin-filepath ${INPUT}", formatStdin = true } ] } ``` The language server for a language is configured like this (`typescript-language-server` is configured by default): ```toml [[language]] name = "typescript" language-servers = [ { name = "efm-lsp-prettier", only-features = [ "format" ] }, "typescript-language-server" ] ``` or equivalent: ```toml [[language]] name = "typescript" language-servers = [ { name = "typescript-language-server", except-features = [ "format" ] }, "efm-lsp-prettier" ] ``` Each requested LSP feature is priorized in the order of the `language-servers` array. For example the first `goto-definition` supported language server (in this case `typescript-language-server`) will be taken for the relevant LSP request (command `goto_definition`). If no `except-features` or `only-features` is given all features for the language server are enabled, as long as the language server supports these. If it doesn't the next language server which supports the feature is tried. The list of supported features are: - `format` - `goto-definition` - `goto-declaration` - `goto-type-definition` - `goto-reference` - `goto-implementation` - `signature-help` - `hover` - `document-highlight` - `completion` - `code-action` - `workspace-command` - `document-symbols` - `workspace-symbols` - `diagnostics` - `rename-symbol` - `inlay-hints` Another side-effect/difference that comes with this PR, is that only one language server instance is started if different languages use the same language server. | ||
* | Add 23.05 to the AppData | Michael Davis | 2023-05-18 |
| | |||
* | Add changelog notes for the 23.05 release | Michael Davis | 2023-05-18 |
| | |||
* | Bump the version to 23.05 | Michael Davis | 2023-05-18 |
| | |||
* | Fix completion on paths containing spaces (#6779) | Ivan Gulakov | 2023-05-18 |
| | | | | | | | | | | | There was an issue with autocompletion of a path with a space in it. Before: :o test\ dir -> <TAB> -> test\ dirfile1 After: :o test\ dir -> <TAB> -> test\ dir\file1 | ||
* | automatically disable TS when parsing takes longer than 500ms | Pascal Kuthe | 2023-05-18 |
| | |||
* | async picker syntax highlighting | Pascal Kuthe | 2023-05-18 |
| | |||
* | cleanup integration tests | Pascal Kuthe | 2023-05-18 |
| |