@@ -17,6 +18,17 @@
+ مُحَرِّرُ نُصُوصٍ يَعمَلُ فِي الطَّرَفِيَّة، مُستَلهَمٌ مِن Kakoune وَ Neovim وَمَكتُوبٌ بِلُغَةِ رَست البَرمَجِيَّة. +
+` tags with attributes as
code (#8397)
---
helix-term/src/ui/markdown.rs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/helix-term/src/ui/markdown.rs b/helix-term/src/ui/markdown.rs
index 3c8a98685..4d0c0d4a5 100644
--- a/helix-term/src/ui/markdown.rs
+++ b/helix-term/src/ui/markdown.rs
@@ -184,7 +184,9 @@ impl Markdown {
// Transform text in `` blocks into `Event::Code`
let mut in_code = false;
let parser = parser.filter_map(|event| match event {
- Event::Html(tag) if *tag == *"" => {
+ Event::Html(tag)
+ if tag.starts_with("')) =>
+ {
in_code = true;
None
}
From 2776233a6f732edb69e2adf853ad0cb8c12afc59 Mon Sep 17 00:00:00 2001
From: Ben Haines
Date: Tue, 26 Sep 2023 12:05:42 -0400
Subject: [PATCH 010/748] update go highlight queries (#8399)
---
runtime/queries/go/highlights.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/runtime/queries/go/highlights.scm b/runtime/queries/go/highlights.scm
index b2d81e45d..b45a11bee 100644
--- a/runtime/queries/go/highlights.scm
+++ b/runtime/queries/go/highlights.scm
@@ -24,7 +24,6 @@
; Identifiers
-((identifier) @constant (match? @constant "^[A-Z][A-Z\\d_]+$"))
(const_spec
name: (identifier) @constant)
@@ -38,6 +37,7 @@
(type_spec
name: (type_identifier) @constructor)
(field_identifier) @variable.other.member
+(keyed_element (literal_element (identifier) @variable.other.member))
(identifier) @variable
(package_identifier) @namespace
From 080a085fa796fe2b71b5932b704d465695fba824 Mon Sep 17 00:00:00 2001
From: woojiq <122799969+woojiq@users.noreply.github.com>
Date: Tue, 26 Sep 2023 23:12:19 +0300
Subject: [PATCH 011/748] Filter out language servers which fail to spawn
(#8374)
---
helix-lsp/src/lib.rs | 40 +++++++++--------
helix-view/src/editor.rs | 95 ++++++++++++++++++++++------------------
2 files changed, 74 insertions(+), 61 deletions(-)
diff --git a/helix-lsp/src/lib.rs b/helix-lsp/src/lib.rs
index d29a21440..a4be923b2 100644
--- a/helix-lsp/src/lib.rs
+++ b/helix-lsp/src/lib.rs
@@ -749,36 +749,40 @@ impl Registry {
}
}
- pub fn get(
- &mut self,
- language_config: &LanguageConfiguration,
- doc_path: Option<&std::path::PathBuf>,
- root_dirs: &[PathBuf],
+ pub fn get<'a>(
+ &'a mut self,
+ language_config: &'a LanguageConfiguration,
+ doc_path: Option<&'a std::path::PathBuf>,
+ root_dirs: &'a [PathBuf],
enable_snippets: bool,
- ) -> Result>> {
- language_config
- .language_servers
- .iter()
- .map(|LanguageServerFeatures { name, .. }| {
+ ) -> impl Iterator- >)> + 'a {
+ language_config.language_servers.iter().map(
+ move |LanguageServerFeatures { name, .. }| {
if let Some(clients) = self.inner.get(name) {
if let Some((_, client)) = clients.iter().enumerate().find(|(i, client)| {
client.try_add_doc(&language_config.roots, root_dirs, doc_path, *i == 0)
}) {
- return Ok((name.to_owned(), client.clone()));
+ return (name.to_owned(), Ok(client.clone()));
}
}
- let client = self.start_client(
+ match self.start_client(
name.clone(),
language_config,
doc_path,
root_dirs,
enable_snippets,
- )?;
- let clients = self.inner.entry(name.clone()).or_default();
- clients.push(client.clone());
- Ok((name.clone(), client))
- })
- .collect()
+ ) {
+ Ok(client) => {
+ self.inner
+ .entry(name.to_owned())
+ .or_default()
+ .push(client.clone());
+ (name.clone(), Ok(client))
+ }
+ Err(err) => (name.to_owned(), Err(err)),
+ }
+ },
+ )
}
pub fn iter_clients(&self) -> impl Iterator
- > {
diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs
index 2265633df..7af28ccc6 100644
--- a/helix-view/src/editor.rs
+++ b/helix-view/src/editor.rs
@@ -1188,71 +1188,80 @@ impl Editor {
}
/// Refreshes the language server for a given document
- pub fn refresh_language_servers(&mut self, doc_id: DocumentId) -> Option<()> {
+ pub fn refresh_language_servers(&mut self, doc_id: DocumentId) {
self.launch_language_servers(doc_id)
}
/// Launch a language server for a given document
- fn launch_language_servers(&mut self, doc_id: DocumentId) -> Option<()> {
+ fn launch_language_servers(&mut self, doc_id: DocumentId) {
if !self.config().lsp.enable {
- return None;
+ return;
}
// if doc doesn't have a URL it's a scratch buffer, ignore it
- let doc = self.documents.get_mut(&doc_id)?;
- let doc_url = doc.url()?;
+ let Some(doc) = self.documents.get_mut(&doc_id) else {
+ return;
+ };
+ let Some(doc_url) = doc.url() else {
+ return;
+ };
let (lang, path) = (doc.language.clone(), doc.path().cloned());
let config = doc.config.load();
let root_dirs = &config.workspace_lsp_roots;
- // try to find language servers based on the language name
- let language_servers = lang.as_ref().and_then(|language| {
+ // store only successfully started language servers
+ let language_servers = lang.as_ref().map_or_else(HashMap::default, |language| {
self.language_servers
.get(language, path.as_ref(), root_dirs, config.lsp.snippets)
- .map_err(|e| {
- log::error!(
- "Failed to initialize the language servers for `{}` {{ {} }}",
- language.scope(),
- e
- )
+ .filter_map(|(lang, client)| match client {
+ Ok(client) => Some((lang, client)),
+ Err(err) => {
+ log::error!(
+ "Failed to initialize the language servers for `{}` - `{}` {{ {} }}",
+ language.scope(),
+ lang,
+ err
+ );
+ None
+ }
})
- .ok()
+ .collect::
>()
});
- if let Some(language_servers) = language_servers {
- let language_id = doc.language_id().map(ToOwned::to_owned).unwrap_or_default();
-
- // only spawn new language servers if the servers aren't the same
-
- let doc_language_servers_not_in_registry =
- doc.language_servers.iter().filter(|(name, doc_ls)| {
- language_servers
- .get(*name)
- .map_or(true, |ls| ls.id() != doc_ls.id())
- });
+ if language_servers.is_empty() {
+ return;
+ }
- for (_, language_server) in doc_language_servers_not_in_registry {
- tokio::spawn(language_server.text_document_did_close(doc.identifier()));
- }
+ let language_id = doc.language_id().map(ToOwned::to_owned).unwrap_or_default();
- let language_servers_not_in_doc = language_servers.iter().filter(|(name, ls)| {
- doc.language_servers
+ // only spawn new language servers if the servers aren't the same
+ let doc_language_servers_not_in_registry =
+ doc.language_servers.iter().filter(|(name, doc_ls)| {
+ language_servers
.get(*name)
- .map_or(true, |doc_ls| ls.id() != doc_ls.id())
+ .map_or(true, |ls| ls.id() != doc_ls.id())
});
- for (_, language_server) in language_servers_not_in_doc {
- // TODO: this now races with on_init code if the init happens too quickly
- tokio::spawn(language_server.text_document_did_open(
- doc_url.clone(),
- doc.version(),
- doc.text(),
- language_id.clone(),
- ));
- }
+ for (_, language_server) in doc_language_servers_not_in_registry {
+ tokio::spawn(language_server.text_document_did_close(doc.identifier()));
+ }
+
+ let language_servers_not_in_doc = language_servers.iter().filter(|(name, ls)| {
+ doc.language_servers
+ .get(*name)
+ .map_or(true, |doc_ls| ls.id() != doc_ls.id())
+ });
- doc.language_servers = language_servers;
+ for (_, language_server) in language_servers_not_in_doc {
+ // TODO: this now races with on_init code if the init happens too quickly
+ tokio::spawn(language_server.text_document_did_open(
+ doc_url.clone(),
+ doc.version(),
+ doc.text(),
+ language_id.clone(),
+ ));
}
- Some(())
+
+ doc.language_servers = language_servers;
}
fn _refresh(&mut self) {
@@ -1454,7 +1463,7 @@ impl Editor {
doc.set_version_control_head(self.diff_providers.get_current_head_name(&path));
let id = self.new_document(doc);
- let _ = self.launch_language_servers(id);
+ self.launch_language_servers(id);
id
};
From 0c879d4edcd8644475f4fa809af2d9aaf6959eb0 Mon Sep 17 00:00:00 2001
From: Ken Micklas
Date: Tue, 26 Sep 2023 16:19:24 -0400
Subject: [PATCH 012/748] Add shebangs for Makefiles (#8410)
For example, this is standard for Debian rules files: https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#defaultrules
---
languages.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/languages.toml b/languages.toml
index 7b249fc6e..c12c4e82d 100644
--- a/languages.toml
+++ b/languages.toml
@@ -1087,6 +1087,7 @@ source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "6e51463ef30
name = "make"
scope = "source.make"
file-types = ["Makefile", "makefile", "make", "mk"]
+shebangs = ["make", "gmake"]
injection-regex = "(make|makefile|Makefile|mk)"
roots = []
comment-token = "#"
From ba06371499a8682effbd733f2692ae140b63284e Mon Sep 17 00:00:00 2001
From: Lucas Zebrowsky <78442275+Lu-Die-Milchkuh@users.noreply.github.com>
Date: Tue, 26 Sep 2023 22:19:52 +0200
Subject: [PATCH 013/748] Fix missing HTML tag colorization in onedark theme
(#8409)
---
runtime/themes/onedark.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/runtime/themes/onedark.toml b/runtime/themes/onedark.toml
index 21101ea75..1db2aff86 100644
--- a/runtime/themes/onedark.toml
+++ b/runtime/themes/onedark.toml
@@ -1,5 +1,6 @@
# Author : Gokul Soumya
+"tag" = { fg = "red" }
"attribute" = { fg = "yellow" }
"comment" = { fg = "light-gray", modifiers = ["italic"] }
"constant" = { fg = "cyan" }
From 77fe8f214b15b8297a9f2f8ed929994559604d6c Mon Sep 17 00:00:00 2001
From: boofexxx <86674880+boofexxx@users.noreply.github.com>
Date: Thu, 28 Sep 2023 12:29:02 +0500
Subject: [PATCH 014/748] refine darcula and darcula-solid themes (#8412)
---
runtime/themes/darcula-solid.toml | 5 +----
runtime/themes/darcula.toml | 6 ++++--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/runtime/themes/darcula-solid.toml b/runtime/themes/darcula-solid.toml
index 5feac234e..c867583d9 100644
--- a/runtime/themes/darcula-solid.toml
+++ b/runtime/themes/darcula-solid.toml
@@ -4,9 +4,8 @@ inherits = "darcula"
"ui.background.separator" = { bg = "grey01" }
"ui.menu.scroll" = { fg = "grey02", bg = "grey00" }
-"ui.popup" = { fg = "grey03", bg = "grey02" }
+"ui.popup" = { fg = "grey05", bg = "grey00" }
"ui.window" = { bg = "grey00" }
-"ui.selection" = { bg = "blue" }
"ui.cursorline.secondary" = { bg = "grey03" }
[palette]
@@ -15,5 +14,3 @@ grey01 = "#1f1f1f"
grey02 = "#323232"
grey03 = "#555555"
grey04 = "#a8a8a8"
-
-blue = "#104158"
diff --git a/runtime/themes/darcula.toml b/runtime/themes/darcula.toml
index 53a271bd2..3086b727f 100644
--- a/runtime/themes/darcula.toml
+++ b/runtime/themes/darcula.toml
@@ -8,7 +8,8 @@
"ui.gutter" = { bg = "grey01" }
"ui.popup" = { fg = "grey05", bg = "grey00" }
"ui.window" = { bg = "grey01" }
-"ui.selection" = { bg = "grey03" }
+"ui.selection" = { bg = "grey02" }
+"ui.selection.primary" = { bg = "blue" }
"ui.statusline" = { fg = "grey04", bg = "grey02" }
"ui.statusline.insert" = { bg = "white", fg = "grey01" }
"ui.statusline.select" = { bg = "orange", fg = "grey01" }
@@ -61,7 +62,7 @@
"markup.link.url" = { fg = "lightblue", modifiers = ["underlined"] }
"markup.link.text" = "white"
"markup.quote" = "darkgreen"
-"markup.raw" = "white"
+"markup.raw" = "purple"
"diff.plus" = "green"
"diff.delta" = "grey"
@@ -97,3 +98,4 @@ green = "#32cd32"
grey = "#808080"
darkgreen = "#629755"
lightblue = "#6897bb"
+blue = "#104158"
From 1297d924e7480fdd2a77c792c06042770856fa3e Mon Sep 17 00:00:00 2001
From: Jonah Lund <126015019+JonahLund@users.noreply.github.com>
Date: Fri, 29 Sep 2023 21:19:57 +0200
Subject: [PATCH 015/748] improve nord theme (#8414)
---
runtime/themes/nord.toml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/runtime/themes/nord.toml b/runtime/themes/nord.toml
index e1e63b323..bc78db71d 100644
--- a/runtime/themes/nord.toml
+++ b/runtime/themes/nord.toml
@@ -50,7 +50,7 @@
"keyword.operator" = "nord9"
"keyword.return" = "nord9"
"keyword.storage.modifier" = "nord9"
-"keyword.storage.type" = "nord7"
+"keyword.storage.type" = "nord9"
# Punctuation
"punctuation" = "nord6"
@@ -65,22 +65,22 @@
"string.special" = "nord13"
# Types
-"type" = "nord4"
+"type" = "nord7"
"type.builtin" = "nord7"
# Variables
"variable" = "nord4"
-"variable.builint" = "nord9"
+"variable.builtin" = "nord9"
"variable.other.member" = "nord4"
"variable.parameter" = "nord8"
-"attribute" = "nord4"
+"attribute" = "nord9"
# Misc.
"label" = "nord7"
"namespace" = "nord4"
"operator" = "nord9"
-"special" = "nord4"
-"tag" = "nord4"
+"special" = "nord9"
+"tag" = "nord7"
"comment" = { fg = "nord3_bright", modifiers = ["italic"] }
## EDITOR UI COLORS
@@ -165,7 +165,7 @@ nord8 = "#88C0D0"
# A more darkened and less saturated color reminiscent of arctic waters
nord9 = "#81A1C1"
# A dark and intensive color reminiscent of the deep arctic ocean
- nord10 = "#5E81AC"
+nord10 = "#5E81AC"
# Aurora consists of five colorful components reminiscent of the "Aurora borealis", sometimes referred to as polar lights or northern lights.
#
From 4e86d1c35adbb7c158b2d262e4c129c2bee41a0a Mon Sep 17 00:00:00 2001
From: Pascal Kuthe
Date: Sat, 30 Sep 2023 05:28:25 +0200
Subject: [PATCH 016/748] fix multicursor snippet placeholder directions
(#8423)
---
helix-lsp/src/lib.rs | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/helix-lsp/src/lib.rs b/helix-lsp/src/lib.rs
index a4be923b2..b6a990659 100644
--- a/helix-lsp/src/lib.rs
+++ b/helix-lsp/src/lib.rs
@@ -445,36 +445,36 @@ pub mod util {
// the tabstop closest to the range simply replaces `head` while anchor remains in place
// the remaining tabstops receive their own single-width cursor
if range.head < range.anchor {
- let first_tabstop = tabstop_anchor + tabstops[0].1;
+ let last_idx = tabstops.len() - 1;
+ let last_tabstop = tabstop_anchor + tabstops[last_idx].0;
// if selection is forward but was moved to the right it is
// contained entirely in the replacement text, just do a point
// selection (fallback below)
- if range.anchor >= first_tabstop {
- let range = Range::new(range.anchor, first_tabstop);
+ if range.anchor > last_tabstop {
+ let range = Range::new(range.anchor, last_tabstop);
mapped_selection.push(range);
- let rem_tabstops = tabstops[1..]
+ let rem_tabstops = tabstops[..last_idx]
.iter()
- .map(|tabstop| Range::point(tabstop_anchor + tabstop.1));
+ .map(|tabstop| Range::point(tabstop_anchor + tabstop.0));
mapped_selection.extend(rem_tabstops);
continue;
}
} else {
- let last_idx = tabstops.len() - 1;
- let last_tabstop = tabstop_anchor + tabstops[last_idx].1;
+ let first_tabstop = tabstop_anchor + tabstops[0].0;
// if selection is forward but was moved to the right it is
// contained entirely in the replacement text, just do a point
// selection (fallback below)
- if range.anchor <= last_tabstop {
+ if range.anchor < first_tabstop {
// we can't properly compute the the next grapheme
// here because the transaction hasn't been applied yet
// that is not a problem because the range gets grapheme aligned anyway
// tough so just adding one will always cause head to be grapheme
// aligned correctly when applied to the document
- let range = Range::new(range.anchor, last_tabstop + 1);
+ let range = Range::new(range.anchor, first_tabstop + 1);
mapped_selection.push(range);
- let rem_tabstops = tabstops[..last_idx]
+ let rem_tabstops = tabstops[1..]
.iter()
.map(|tabstop| Range::point(tabstop_anchor + tabstop.0));
mapped_selection.extend(rem_tabstops);
From 893802d5a2155f6a14a7f55265614779f20006a2 Mon Sep 17 00:00:00 2001
From: Yoav Lavi
Date: Mon, 2 Oct 2023 01:40:47 +0300
Subject: [PATCH 017/748] Add VSCode file associations (#8388)
* Add VSCode file associations
* Update languages.toml
Co-authored-by: Robert Clover
* Change cpp *.in files to suffixes
---------
Co-authored-by: Robert Clover
---
languages.toml | 191 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 172 insertions(+), 19 deletions(-)
diff --git a/languages.toml b/languages.toml
index c12c4e82d..e93308343 100644
--- a/languages.toml
+++ b/languages.toml
@@ -317,7 +317,27 @@ indent = { tab-width = 2, unit = " " }
name = "json"
scope = "source.json"
injection-regex = "json"
-file-types = ["json", "jsonc", "arb", "ipynb", "geojson", "gltf", "webmanifest", "flake.lock", ".babelrc"]
+file-types = [
+ "json",
+ "jsonc",
+ "arb",
+ "ipynb",
+ "geojson",
+ "gltf",
+ "webmanifest",
+ "flake.lock",
+ ".babelrc",
+ ".bowerrc",
+ ".jscrc",
+ "js.map",
+ "ts.map",
+ "css.map",
+ ".jslintrc",
+ "jsonld",
+ ".vuerc",
+ "composer.lock",
+ ".watchmanconfig"
+]
roots = []
language-servers = [ "vscode-json-language-server" ]
auto-format = true
@@ -368,7 +388,7 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "7175a6dd
name = "cpp"
scope = "source.cpp"
injection-regex = "cpp"
-file-types = ["cc", "hh", "c++", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino", "C", "H", "cu", "cuh", "cppm"]
+file-types = ["cc", "hh", "c++", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino", "C", "H", "cu", "cuh", "cppm", "h++", "ii", "inl", { suffix = ".hpp.in" }, { suffix = ".h.in" }]
roots = []
comment-token = "//"
language-servers = [ "clangd" ]
@@ -415,7 +435,7 @@ language-servers = [ "crystalline" ]
name = "c-sharp"
scope = "source.csharp"
injection-regex = "c-?sharp"
-file-types = ["cs"]
+file-types = ["cs", "csx", "cake"]
roots = ["sln", "csproj"]
comment-token = "//"
indent = { tab-width = 4, unit = "\t" }
@@ -546,7 +566,7 @@ name = "javascript"
scope = "source.js"
injection-regex = "(js|javascript)"
language-id = "javascript"
-file-types = ["js", "mjs", "cjs", "rules"]
+file-types = ["js", "mjs", "cjs", "rules", "es6", "pac", "jakefile"]
shebangs = ["node"]
roots = []
comment-token = "//"
@@ -642,7 +662,7 @@ source = { git = "https://github.com/serenadeai/tree-sitter-scss", rev = "c478c6
name = "html"
scope = "text.html.basic"
injection-regex = "html"
-file-types = ["html"]
+file-types = ["html", "htm", "shtml", "xhtml", "xht", "jsp", "asp", "aspx", "jshtm", "volt", "rhtml"]
roots = []
language-servers = [ "vscode-html-language-server" ]
auto-format = true
@@ -656,7 +676,7 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "29f53
name = "python"
scope = "source.python"
injection-regex = "python"
-file-types = ["py","pyi","py3","pyw","ptl",".pythonstartup",".pythonrc","SConstruct"]
+file-types = ["py","pyi","py3","pyw","ptl",".pythonstartup",".pythonrc","SConstruct", "rpy", "cpy", "ipy", "pyt", "SConscript"]
shebangs = ["python"]
roots = ["pyproject.toml", "setup.py", "poetry.lock", "pyrightconfig.json"]
comment-token = "#"
@@ -708,7 +728,42 @@ source = { git = "https://github.com/nix-community/tree-sitter-nix", rev = "1b69
name = "ruby"
scope = "source.ruby"
injection-regex = "ruby"
-file-types = ["rb", "rake", "rakefile", "irb", "gemfile", "gemspec", "Rakefile", "Gemfile", "rabl", "jbuilder", "jb", "Podfile", "podspec", "Vagrantfile", "Brewfile"]
+file-types = [
+ "rb",
+ "rake",
+ "rakefile",
+ "irb",
+ "gemfile",
+ "gemspec",
+ "Rakefile",
+ "Gemfile",
+ "rabl",
+ "jbuilder",
+ "jb",
+ "Podfile",
+ "podspec",
+ "Vagrantfile",
+ "Brewfile",
+ "rjs",
+ "rbi",
+ "Guardfile",
+ "Capfile",
+ "Cheffile",
+ "Hobofile",
+ "Appraisals",
+ "Rantfile",
+ "Berksfile",
+ "Berksfile.lock",
+ "Thorfile",
+ "Puppetfile",
+ "Fastfile",
+ "Appfile",
+ "Deliverfile",
+ "Matchfile",
+ "Scanfile",
+ "Snapfile",
+ "Gymfile"
+]
shebangs = ["ruby"]
roots = []
comment-token = "#"
@@ -723,7 +778,47 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "206c7
name = "bash"
scope = "source.bash"
injection-regex = "(shell|bash|zsh|sh)"
-file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", "zshenv", ".zlogin", "zlogin", ".zlogout", "zlogout", ".zprofile", "zprofile", ".zshrc", "zshrc", ".zimrc", "APKBUILD", "PKGBUILD", "eclass", "ebuild", "bazelrc", ".bash_aliases", "Renviron", ".Renviron"]
+file-types = [
+ "sh",
+ "bash",
+ "zsh",
+ ".bash_login",
+ ".bash_logout",
+ ".bash_profile",
+ ".bashrc",
+ ".profile",
+ ".zshenv",
+ "zshenv",
+ ".zlogin",
+ "zlogin",
+ ".zlogout",
+ "zlogout",
+ ".zprofile",
+ "zprofile",
+ ".zshrc",
+ "zshrc",
+ ".zimrc",
+ "APKBUILD",
+ "PKGBUILD",
+ "eclass",
+ "ebuild",
+ "bazelrc",
+ ".bash_aliases",
+ "Renviron",
+ ".Renviron",
+ ".xprofile",
+ ".xsession",
+ ".xsessionrc",
+ "zsh-theme",
+ "ksh",
+ "cshrc",
+ "tcshrc",
+ ".yashrc",
+ ".yash_profile",
+ ".hushlogin",
+ "bashrc_Apple_Terminal",
+ "zshrc_Apple_Terminal"
+]
shebangs = ["sh", "bash", "dash", "zsh"]
roots = []
comment-token = "#"
@@ -738,7 +833,7 @@ source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "275ef
name = "php"
scope = "source.php"
injection-regex = "php"
-file-types = ["php", "inc"]
+file-types = ["php", "inc", "php4", "php5", "phtml", "ctp"]
shebangs = ["php"]
roots = ["composer.json", "index.php"]
language-servers = [ "intelephense" ]
@@ -764,7 +859,7 @@ source = { git = "https://github.com/gbprod/tree-sitter-twig", rev = "807b293fec
name = "latex"
scope = "source.tex"
injection-regex = "tex"
-file-types = ["tex", "sty", "cls", "Rd"]
+file-types = ["tex", "sty", "cls", "Rd", "bbx", "cbx"]
roots = []
comment-token = "%"
language-servers = [ "texlab" ]
@@ -1086,7 +1181,7 @@ source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "6e51463ef30
[[language]]
name = "make"
scope = "source.make"
-file-types = ["Makefile", "makefile", "make", "mk"]
+file-types = ["Makefile", "makefile", "make", "mk", "mak", "GNUmakefile", "OCamlMakefile"]
shebangs = ["make", "gmake"]
injection-regex = "(make|makefile|Makefile|mk)"
roots = []
@@ -1113,7 +1208,7 @@ source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "88408ff
[[language]]
name = "perl"
scope = "source.perl"
-file-types = ["pl", "pm", "t"]
+file-types = ["pl", "pm", "t", "psgi", "raku", "rakumod", "rakutest", "rakudoc", "nqp", "p6", "pl6", "pm6"]
shebangs = ["perl"]
roots = []
comment-token = "#"
@@ -1240,7 +1335,7 @@ source = { git = "https://github.com/Flakebi/tree-sitter-tablegen", rev = "568dd
name = "markdown"
scope = "source.md"
injection-regex = "md|markdown"
-file-types = ["md", "markdown", "PULLREQ_EDITMSG"]
+file-types = ["md", "markdown", "PULLREQ_EDITMSG", "mkd", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook"]
roots = [".marksman.toml"]
language-servers = [ "marksman" ]
indent = { tab-width = 2, unit = " " }
@@ -1320,7 +1415,7 @@ source = { git = "https://github.com/the-mikedavis/tree-sitter-git-commit", rev
name = "diff"
scope = "source.diff"
roots = []
-file-types = ["diff", "patch"]
+file-types = ["diff", "patch", "rej"]
injection-regex = "diff"
comment-token = "#"
indent = { tab-width = 2, unit = " " }
@@ -1578,7 +1673,7 @@ source = { git = "https://github.com/Hubro/tree-sitter-robot", rev = "322e4cc657
name = "r"
scope = "source.r"
injection-regex = "(r|R)"
-file-types = ["r", "R", ".Rprofile", "Rprofile.site"]
+file-types = ["r", "R", ".Rprofile", "Rprofile.site", ".RHistory"]
shebangs = ["r", "R"]
roots = []
comment-token = "#"
@@ -1663,7 +1758,7 @@ source = { git = "https://github.com/phoenixframework/tree-sitter-heex", rev = "
[[language]]
name = "sql"
scope = "source.sql"
-file-types = ["sql"]
+file-types = ["sql", "dsql"]
roots = []
comment-token = "--"
indent = { tab-width = 4, unit = " " }
@@ -2206,7 +2301,62 @@ source = { git = "https://github.com/Unoqwy/tree-sitter-kdl", rev = "e1cd292c6d1
name = "xml"
scope = "source.xml"
injection-regex = "xml"
-file-types = ["xml", "mobileconfig", "plist", "xib", "storyboard", "svg", "xsd", "gml", "xaml", "gir", "rss", "atom", "opml", "policy"]
+file-types = [
+ "xml",
+ "mobileconfig",
+ "plist",
+ "xib",
+ "storyboard",
+ "svg",
+ "xsd",
+ "gml",
+ "xaml",
+ "gir",
+ "rss",
+ "atom",
+ "opml",
+ "policy",
+ "ascx",
+ "axml",
+ "axaml",
+ "bpmn",
+ "cpt",
+ "csl",
+ "csproj.user",
+ "dita",
+ "ditamap",
+ "dtml",
+ "fxml",
+ "iml",
+ "isml",
+ "jmx",
+ "launch",
+ "menu",
+ "mxml",
+ "nuspec",
+ "pt",
+ "publishsettings",
+ "pubxml",
+ "pubxml.user",
+ "rbxlx",
+ "rbxmx",
+ "rng",
+ "shproj",
+ "tld",
+ "tmx",
+ "vbproj.user",
+ "vcxproj",
+ "vcxproj.filters",
+ "wsdl",
+ "wxi",
+ "wxs",
+ "xbl",
+ "xlf",
+ "xliff",
+ "xpdl",
+ "xul",
+ "xoml"
+]
indent = { tab-width = 2, unit = " " }
roots = []
@@ -2295,7 +2445,10 @@ file-types = [
"volume",
"kube",
"network",
- ".editorconfig"
+ ".editorconfig",
+ "properties",
+ "cfg",
+ "directory"
]
injection-regex = "ini"
comment-token = "#"
@@ -2704,7 +2857,7 @@ name = "fsharp"
scope = "source.fs"
roots = ["sln", "fsproj"]
injection-regex = "fsharp"
-file-types = ["fs", "fsx"]
+file-types = ["fs", "fsx", "fsi", "fsscript"]
comment-token = "//"
indent = { tab-width = 4, unit = " " }
auto-format = true
From 0e13db28327d69e97907d27bc5364629637a6c8e Mon Sep 17 00:00:00 2001
From: David Else <12832280+David-Else@users.noreply.github.com>
Date: Sun, 1 Oct 2023 23:41:54 +0100
Subject: [PATCH 018/748] Add validation to CSS and JSON language servers
(#8433)
---
languages.toml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/languages.toml b/languages.toml
index e93308343..af1466f1b 100644
--- a/languages.toml
+++ b/languages.toml
@@ -77,9 +77,9 @@ texlab = { command = "texlab" }
vala-language-server = { command = "vala-language-server" }
vhdl_ls = { command = "vhdl_ls", args = [] }
vlang-language-server = { command = "v-analyzer" }
-vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { "provideFormatter" = true }}
+vscode-css-language-server = { command = "vscode-css-language-server", args = ["--stdio"], config = { provideFormatter = true, css = { validate = { enable = true } } } }
vscode-html-language-server = { command = "vscode-html-language-server", args = ["--stdio"], config = { provideFormatter = true } }
-vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true } }
+vscode-json-language-server = { command = "vscode-json-language-server", args = ["--stdio"], config = { provideFormatter = true, json = { validate = { enable = true } } } }
vuels = { command = "vue-language-server", args = ["--stdio"], config = { typescript = { tsdk = "node_modules/typescript/lib/" } } }
wgsl_analyzer = { command = "wgsl_analyzer" }
yaml-language-server = { command = "yaml-language-server", args = ["--stdio"] }
From 6abaf3d24f47b9537766e9a8ffe1d76a4329d1f2 Mon Sep 17 00:00:00 2001
From: Michael Davis
Date: Sun, 1 Oct 2023 22:32:27 -0500
Subject: [PATCH 019/748] LSP: Fix codeAction/resolve server capability check
(#8421)
Previously we accidentally checked the server's _completion_ resolve
capability rather than the code action resolve capability.
---
helix-lsp/src/client.rs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs
index ed9a2f830..341702c37 100644
--- a/helix-lsp/src/client.rs
+++ b/helix-lsp/src/client.rs
@@ -971,12 +971,12 @@ impl Client {
) -> Option>> {
let capabilities = self.capabilities.get().unwrap();
- // Return early if the server does not support resolving code action.
- match capabilities.completion_provider {
- Some(lsp::CompletionOptions {
+ // Return early if the server does not support resolving code actions.
+ match capabilities.code_action_provider {
+ Some(lsp::CodeActionProviderCapability::Options(lsp::CodeActionOptions {
resolve_provider: Some(true),
..
- }) => (),
+ })) => (),
_ => return None,
}
From 7fbfec766c2ce2570ca4160744723813dbdc3019 Mon Sep 17 00:00:00 2001
From: Mathis Brossier
Date: Mon, 2 Oct 2023 16:10:29 +0200
Subject: [PATCH 020/748] book: Fix broken link (#8441)
---
book/src/guides/injection.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/book/src/guides/injection.md b/book/src/guides/injection.md
index 18c474cfe..e842ae303 100644
--- a/book/src/guides/injection.md
+++ b/book/src/guides/injection.md
@@ -1,7 +1,7 @@
# Adding Injection Queries
Writing language injection queries allows one to highlight a specific node as a different language.
-In addition to the [standard](upstream-docs) language injection options used by tree-sitter, there
+In addition to the [standard][upstream-docs] language injection options used by tree-sitter, there
are a few Helix specific extensions that allow for more control.
And example of a simple query that would highlight all strings as bash in Nix:
From 588363c2c17f3f70d0c06739d84eb5f6f18c3a25 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 Oct 2023 10:16:00 +0900
Subject: [PATCH 021/748] build(deps): bump regex from 1.9.5 to 1.9.6 (#8451)
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.5 to 1.9.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.5...1.9.6)
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
Cargo.lock | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 02bdd57b0..8426583c4 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1987,9 +1987,9 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.9.5"
+version = "1.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
dependencies = [
"aho-corasick 1.0.2",
"memchr",
@@ -1999,9 +1999,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
dependencies = [
"aho-corasick 1.0.2",
"memchr",
From 7dddbca558e14a42c1f947e67b463e2c2b5647c8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 Oct 2023 10:16:30 +0900
Subject: [PATCH 022/748] build(deps): bump rustix from 0.38.14 to 0.38.15
(#8449)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.14 to 0.38.15.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.14...v0.38.15)
---
updated-dependencies:
- dependency-name: rustix
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
Cargo.lock | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 8426583c4..16f89f8f1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1455,7 +1455,7 @@ dependencies = [
"log",
"once_cell",
"parking_lot",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"serde",
"serde_json",
"slotmap",
@@ -2052,9 +2052,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.14"
+version = "0.38.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
+checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531"
dependencies = [
"bitflags 2.4.0",
"errno",
@@ -2289,7 +2289,7 @@ dependencies = [
"cfg-if",
"fastrand",
"redox_syscall 0.3.5",
- "rustix 0.38.14",
+ "rustix 0.38.15",
"windows-sys 0.48.0",
]
@@ -2646,7 +2646,7 @@ dependencies = [
"dirs",
"either",
"once_cell",
- "rustix 0.38.14",
+ "rustix 0.38.15",
]
[[package]]
From a42b5f011e212bfb6106deddcb1b99dc584453e6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 Oct 2023 10:16:51 +0900
Subject: [PATCH 023/748] build(deps): bump libloading from 0.8.0 to 0.8.1
(#8448)
Bumps [libloading](https://github.com/nagisa/rust_libloading) from 0.8.0 to 0.8.1.
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.0...0.8.1)
---
updated-dependencies:
- dependency-name: libloading
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
Cargo.lock | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 16f89f8f1..d22a689e6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1632,9 +1632,9 @@ checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
[[package]]
name = "libloading"
-version = "0.8.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",
From e122add561ebe310f6976b447f0a3d984e0de5d6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 Oct 2023 10:17:03 +0900
Subject: [PATCH 024/748] build(deps): bump thiserror from 1.0.48 to 1.0.49
(#8447)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.48 to 1.0.49.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.48...1.0.49)
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
Cargo.lock | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index d22a689e6..ee09c8e0c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2324,18 +2324,18 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.48"
+version = "1.0.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
+checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.48"
+version = "1.0.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
+checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
dependencies = [
"proc-macro2",
"quote",
From 1756ba443631b0eb6d93c089d3b13b13cd8ef28f Mon Sep 17 00:00:00 2001
From: Gabriel Dinner-David <82682503+gabydd@users.noreply.github.com>
Date: Mon, 2 Oct 2023 21:17:32 -0400
Subject: [PATCH 025/748] update with new mdbook index.hbs (#8445)
---
book/theme/index.hbs | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/book/theme/index.hbs b/book/theme/index.hbs
index ed27410f6..0a0bc5501 100644
--- a/book/theme/index.hbs
+++ b/book/theme/index.hbs
@@ -1,11 +1,11 @@
-
+
{{ title }}
{{#if is_print }}
-
+
{{/if}}
{{#if base_url}}
@@ -17,7 +17,7 @@
-
+
{{#if favicon_svg}}
@@ -34,8 +34,6 @@
-
-
{{#if copy_fonts}}
{{/if}}
@@ -55,7 +53,7 @@
{{/if}}
-
+
+
+