Move syntaxes around to make packing a two step process

Closes #1268
This commit is contained in:
Vincent Prouillet 2020-12-28 17:39:43 +01:00
parent 35e9f2bbc0
commit 2362cf2415
46 changed files with 44 additions and 21 deletions

43
.gitmodules vendored
View file

@ -2,68 +2,71 @@
path = sublime/syntaxes/Packages path = sublime/syntaxes/Packages
url = https://github.com/sublimehq/Packages.git url = https://github.com/sublimehq/Packages.git
[submodule "sublime/syntaxes/awk-sublime"] [submodule "sublime/syntaxes/awk-sublime"]
path = sublime/syntaxes/awk-sublime path = sublime/syntaxes/extra/awk-sublime
url = https://github.com/JohnNilsson/awk-sublime.git url = https://github.com/JohnNilsson/awk-sublime.git
[submodule "sublime/syntaxes/AsciiDoc"] [submodule "sublime/syntaxes/AsciiDoc"]
path = sublime/syntaxes/AsciiDoc path = sublime/syntaxes/AsciiDoc
url = https://github.com/SublimeText/AsciiDoc.git url = https://github.com/SublimeText/AsciiDoc.git
[submodule "sublime/syntaxes/Sublime-CMakeLists"] [submodule "sublime/syntaxes/Sublime-CMakeLists"]
path = sublime/syntaxes/Sublime-CMakeLists path = sublime/syntaxes/extra/Sublime-CMakeLists
url = https://github.com/zyxar/Sublime-CMakeLists.git url = https://github.com/zyxar/Sublime-CMakeLists.git
[submodule "sublime/syntaxes/SublimeTextLinkerSyntax"] [submodule "sublime/syntaxes/SublimeTextLinkerSyntax"]
path = sublime/syntaxes/SublimeTextLinkerSyntax path = sublime/syntaxes/extra/SublimeTextLinkerSyntax
url = https://github.com/jbw3/SublimeTextLinkerSyntax url = https://github.com/jbw3/SublimeTextLinkerSyntax
[submodule "sublime/syntaxes/Docker.tmbundle"] [submodule "sublime/syntaxes/Docker.tmbundle"]
path = sublime/syntaxes/Docker.tmbundle path = sublime/syntaxes/extra/Docker.tmbundle
url = https://github.com/asbjornenge/Docker.tmbundle.git url = https://github.com/asbjornenge/Docker.tmbundle.git
[submodule "sublime/syntaxes/Sublime-VimL"] [submodule "sublime/syntaxes/Sublime-VimL"]
path = sublime/syntaxes/Sublime-VimL path = sublime/syntaxes/Sublime-VimL
url = https://github.com/SalGnt/Sublime-VimL.git url = https://github.com/SalGnt/Sublime-VimL.git
[submodule "sublime/syntaxes/elixir-sublime-syntax"] [submodule "sublime/syntaxes/elixir-sublime-syntax"]
path = sublime/syntaxes/elixir-sublime-syntax path = sublime/syntaxes/extra/elixir-sublime-syntax
url = https://github.com/princemaple/elixir-sublime-syntax.git url = https://github.com/princemaple/elixir-sublime-syntax.git
[submodule "sublime/syntaxes/SublimeElmLanguageSupport"] [submodule "sublime/syntaxes/SublimeElmLanguageSupport"]
path = sublime/syntaxes/SublimeElmLanguageSupport path = sublime/syntaxes/extra/SublimeElmLanguageSupport
url = https://github.com/elm-community/SublimeElmLanguageSupport.git url = https://github.com/elm-community/SublimeElmLanguageSupport.git
[submodule "sublime/syntaxes/sublimetext-fsharp"] [submodule "sublime/syntaxes/sublimetext-fsharp"]
path = sublime/syntaxes/sublimetext-fsharp path = sublime/syntaxes/extra/sublimetext-fsharp
url = https://github.com/hoest/sublimetext-fsharp.git url = https://github.com/hoest/sublimetext-fsharp.git
[submodule "sublime/syntaxes/sublime-fish"] [submodule "sublime/syntaxes/sublime-fish"]
path = sublime/syntaxes/sublime-fish path = sublime/syntaxes/extra/sublime-fish
url = https://github.com/Phidica/sublime-fish.git url = https://github.com/Phidica/sublime-fish.git
[submodule "sublime/syntaxes/SublimeFortran"] [submodule "sublime/syntaxes/SublimeFortran"]
path = sublime/syntaxes/SublimeFortran path = sublime/syntaxes/extra/SublimeFortran
url = https://github.com/315234/SublimeFortran.git url = https://github.com/315234/SublimeFortran.git
[submodule "sublime/syntaxes/GraphQL-SublimeText3"] [submodule "sublime/syntaxes/GraphQL-SublimeText3"]
path = sublime/syntaxes/GraphQL-SublimeText3 path = sublime/syntaxes/extra/GraphQL-SublimeText3
url = https://github.com/dncrews/GraphQL-SublimeText3.git url = https://github.com/dncrews/GraphQL-SublimeText3.git
[submodule "sublime/syntaxes/Sublime-GenericConfig"] [submodule "sublime/syntaxes/Sublime-GenericConfig"]
path = sublime/syntaxes/Sublime-GenericConfig path = sublime/syntaxes/extra/Sublime-GenericConfig
url = https://github.com/skozlovf/Sublime-GenericConfig.git url = https://github.com/skozlovf/Sublime-GenericConfig.git
[submodule "sublime/syntaxes/sublime-jinja2"] [submodule "sublime/syntaxes/sublime-jinja2"]
path = sublime/syntaxes/sublime-jinja2 path = sublime/syntaxes/extra/sublime-jinja2
url = https://github.com/Martin819/sublime-jinja2.git url = https://github.com/Martin819/sublime-jinja2.git
[submodule "sublime/syntaxes/Julia-sublime"] [submodule "sublime/syntaxes/Julia-sublime"]
path = sublime/syntaxes/Julia-sublime path = sublime/syntaxes/extra/Julia-sublime
url = https://github.com/JuliaEditorSupport/Julia-sublime.git url = https://github.com/JuliaEditorSupport/Julia-sublime.git
[submodule "sublime/syntaxes/LESS-sublime"] [submodule "sublime/syntaxes/LESS-sublime"]
path = sublime/syntaxes/LESS-sublime path = sublime/syntaxes/extra/LESS-sublime
url = https://github.com/danro/LESS-sublime.git url = https://github.com/danro/LESS-sublime.git
[submodule "sublime/syntaxes/sublime-purescript-syntax"] [submodule "sublime/syntaxes/sublime-purescript-syntax"]
path = sublime/syntaxes/sublime-purescript-syntax path = sublime/syntaxes/extra/sublime-purescript-syntax
url = https://github.com/tellnobody1/sublime-purescript-syntax.git url = https://github.com/tellnobody1/sublime-purescript-syntax.git
[submodule "sublime/syntaxes/SublimeSass"] [submodule "sublime/syntaxes/SublimeSass"]
path = sublime/syntaxes/SublimeSass path = sublime/syntaxes/extra/SublimeSass
url = https://github.com/braver/SublimeSass.git url = https://github.com/braver/SublimeSass.git
[submodule "sublime/syntaxes/sublime_toml_highlighting"] [submodule "sublime/syntaxes/sublime_toml_highlighting"]
path = sublime/syntaxes/sublime_toml_highlighting path = sublime/syntaxes/extra/sublime_toml_highlighting
url = https://github.com/jasonwilliams/sublime_toml_highlighting.git url = https://github.com/jasonwilliams/sublime_toml_highlighting.git
[submodule "sublime/syntaxes/vue-syntax-highlight"] [submodule "sublime/syntaxes/vue-syntax-highlight"]
path = sublime/syntaxes/vue-syntax-highlight path = sublime/syntaxes/extra/vue-syntax-highlight
url = https://github.com/vuejs/vue-syntax-highlight.git url = https://github.com/vuejs/vue-syntax-highlight.git
[submodule "sublime/syntaxes/sublime-glsl"] [submodule "sublime/syntaxes/sublime-glsl"]
path = sublime/syntaxes/sublime-glsl path = sublime/syntaxes/extra/sublime-glsl
url = https://github.com/euler0/sublime-glsl.git url = https://github.com/euler0/sublime-glsl.git
[submodule "sublime/syntaxes/GDScript-sublime"] [submodule "sublime/syntaxes/GDScript-sublime"]
path = sublime/syntaxes/GDScript-sublime path = sublime/syntaxes/extra/GDScript-sublime
url = https://github.com/beefsack/GDScript-sublime.git url = https://github.com/beefsack/GDScript-sublime.git
[submodule "sublime/syntaxes/extra/sublime-clojure"]
path = sublime/syntaxes/extra/sublime-clojure
url = https://github.com/tonsky/sublime-clojure.git

View file

@ -10,6 +10,7 @@ use std::iter::FromIterator;
use syntect::dumps::*; use syntect::dumps::*;
use syntect::highlighting::ThemeSet; use syntect::highlighting::ThemeSet;
use syntect::parsing::SyntaxSetBuilder; use syntect::parsing::SyntaxSetBuilder;
use std::path::Path;
fn usage_and_exit() -> ! { fn usage_and_exit() -> ! {
println!("USAGE: cargo run --example generate_sublime synpack source-dir newlines.packdump nonewlines.packdump\n println!("USAGE: cargo run --example generate_sublime synpack source-dir newlines.packdump nonewlines.packdump\n
@ -26,10 +27,25 @@ fn main() {
(Some(ref cmd), Some(ref package_dir), Some(ref packpath_newlines)) if cmd == "synpack" => { (Some(ref cmd), Some(ref package_dir), Some(ref packpath_newlines)) if cmd == "synpack" => {
let mut builder = SyntaxSetBuilder::new(); let mut builder = SyntaxSetBuilder::new();
builder.add_plain_text_syntax(); builder.add_plain_text_syntax();
match builder.add_from_folder(package_dir, true) { let base_path = Path::new(&package_dir).to_path_buf();
// First the official Sublime packages
let mut default = base_path.clone();
default.push("Packages");
match builder.add_from_folder(&default, true) {
Ok(_) => (), Ok(_) => (),
Err(e) => println!("Loading error: {:?}", e), Err(e) => println!("Loading error: {:?}", e),
}; };
// and then the ones we add
let mut extra = base_path.clone();
extra.push("extra");
match builder.add_from_folder(&extra, true) {
Ok(_) => (),
Err(e) => println!("Loading error: {:?}", e),
};
let ss = builder.build(); let ss = builder.build();
dump_to_file(&ss, packpath_newlines).unwrap(); dump_to_file(&ss, packpath_newlines).unwrap();
let mut syntaxes: HashMap<String, HashSet<String>> = HashMap::new(); let mut syntaxes: HashMap<String, HashSet<String>> = HashMap::new();

View file

@ -36,6 +36,7 @@ Here is a full list of supported languages and their short names:
- C# -> ["cs", "csx"] - C# -> ["cs", "csx"]
- C++ -> ["C", "c++", "cc", "cp", "cpp", "cxx", "h", "h++", "hh", "hpp", "hxx", "inl", "ipp"] - C++ -> ["C", "c++", "cc", "cp", "cpp", "cxx", "h", "h++", "hh", "hpp", "hxx", "inl", "ipp"]
- Clojure -> ["clj", "cljc", "cljs", "edn"] - Clojure -> ["clj", "cljc", "cljs", "edn"]
- ClojureC -> ["boot", "clj", "cljc", "cljs", "cljx"]
- CMake -> ["CMakeLists.txt", "cmake"] - CMake -> ["CMakeLists.txt", "cmake"]
- CMake C Header -> ["h.in"] - CMake C Header -> ["h.in"]
- CMake C++ Header -> ["h++.in", "hh.in", "hpp.in", "hxx.in"] - CMake C++ Header -> ["h++.in", "hh.in", "hpp.in", "hxx.in"]
@ -46,6 +47,7 @@ Here is a full list of supported languages and their short names:
- Dart -> ["dart"] - Dart -> ["dart"]
- Diff -> ["diff", "patch"] - Diff -> ["diff", "patch"]
- Dockerfile -> ["Dockerfile", "dockerfile"] - Dockerfile -> ["Dockerfile", "dockerfile"]
- EDN -> ["edn"]
- Elixir -> ["ex", "exs"] - Elixir -> ["ex", "exs"]
- Elm -> ["elm"] - Elm -> ["elm"]
- Erlang -> ["Emakefile", "emakefile", "erl", "escript", "hrl"] - Erlang -> ["Emakefile", "emakefile", "erl", "escript", "hrl"]
@ -145,6 +147,7 @@ Here is a full list of supported languages and their short names:
``` ```
Note: due to some issues with the JavaScript syntax, the TypeScript syntax will be used instead. Note: due to some issues with the JavaScript syntax, the TypeScript syntax will be used instead.
If
If you want to highlight a language not on this list, please open an issue or a pull request on the [Zola repo](https://github.com/getzola/zola). If you want to highlight a language not on this list, please open an issue or a pull request on the [Zola repo](https://github.com/getzola/zola).
Alternatively, the `extra_syntaxes` configuration option can be used to add additional syntax files. Alternatively, the `extra_syntaxes` configuration option can be used to add additional syntax files.

@ -0,0 +1 @@
Subproject commit c781793d87e0ebfe30ff9d162779abfe3c8a8a91

Binary file not shown.