helix-mirror/helix-term
Michael Davis 5f043dde56
Derive Document language name from languages.toml name key (#3338)
* Derive Document language name from `languages.toml` `name` key

This changes switches from deriving the language name from the
`languages.toml` `scope` key to `name` (`language_id` in the
`LanguageConfiguration` type). For the most part it works to derive the
language name from scope by chopping off `source.` or `rsplit_once` on
`.` but for some languages we have now like html (`text.html.basic`),
it doesn't. This also should be a more accurate fallback for the
`language_id` method which is used in LSP and currently uses the
`rsplit_once` strategy.

Here we expose the language's name as `language_name` on `Document` and
replace ad-hoc calculations of the language name with the new method.

This is most impactful for the `file-type` statusline element which is
using `language_id`.

* Use `Document::language_name` for the `file-type` statusline element

The `file-type` indicator element in the statusline was using
`Document::language_id` which is meant to be used to for telling
Language Servers what language we're using. That works for languages
with `language-server` configurations in `languages.toml` but shows
text otherwise. The new `Document::language_name` method from the
parent commit is a more accurate way to determine the language.
2022-08-30 10:59:45 +09:00
..
src Derive Document language name from languages.toml name key (#3338) 2022-08-30 10:59:45 +09:00
tests Fix backwards selection duplication widening bug (#2945) 2022-07-05 07:51:15 +09:00
.gitignore Initial import. 2020-05-20 18:14:51 +09:00
build.rs feat: support grammar cross-compilation 2022-08-02 12:04:09 +09:00
Cargo.toml Update to crossterm-0.25 (#3390) 2022-08-22 10:29:30 +09:00