diff --git a/.gitmodules b/.gitmodules index ffd0dd08..5b033dde 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,68 +2,71 @@ path = sublime/syntaxes/Packages url = https://github.com/sublimehq/Packages.git [submodule "sublime/syntaxes/awk-sublime"] - path = sublime/syntaxes/awk-sublime + path = sublime/syntaxes/extra/awk-sublime url = https://github.com/JohnNilsson/awk-sublime.git [submodule "sublime/syntaxes/AsciiDoc"] path = sublime/syntaxes/AsciiDoc url = https://github.com/SublimeText/AsciiDoc.git [submodule "sublime/syntaxes/Sublime-CMakeLists"] - path = sublime/syntaxes/Sublime-CMakeLists + path = sublime/syntaxes/extra/Sublime-CMakeLists url = https://github.com/zyxar/Sublime-CMakeLists.git [submodule "sublime/syntaxes/SublimeTextLinkerSyntax"] - path = sublime/syntaxes/SublimeTextLinkerSyntax + path = sublime/syntaxes/extra/SublimeTextLinkerSyntax url = https://github.com/jbw3/SublimeTextLinkerSyntax [submodule "sublime/syntaxes/Docker.tmbundle"] - path = sublime/syntaxes/Docker.tmbundle + path = sublime/syntaxes/extra/Docker.tmbundle url = https://github.com/asbjornenge/Docker.tmbundle.git [submodule "sublime/syntaxes/Sublime-VimL"] path = sublime/syntaxes/Sublime-VimL url = https://github.com/SalGnt/Sublime-VimL.git [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 [submodule "sublime/syntaxes/SublimeElmLanguageSupport"] - path = sublime/syntaxes/SublimeElmLanguageSupport + path = sublime/syntaxes/extra/SublimeElmLanguageSupport url = https://github.com/elm-community/SublimeElmLanguageSupport.git [submodule "sublime/syntaxes/sublimetext-fsharp"] - path = sublime/syntaxes/sublimetext-fsharp + path = sublime/syntaxes/extra/sublimetext-fsharp url = https://github.com/hoest/sublimetext-fsharp.git [submodule "sublime/syntaxes/sublime-fish"] - path = sublime/syntaxes/sublime-fish + path = sublime/syntaxes/extra/sublime-fish url = https://github.com/Phidica/sublime-fish.git [submodule "sublime/syntaxes/SublimeFortran"] - path = sublime/syntaxes/SublimeFortran + path = sublime/syntaxes/extra/SublimeFortran url = https://github.com/315234/SublimeFortran.git [submodule "sublime/syntaxes/GraphQL-SublimeText3"] - path = sublime/syntaxes/GraphQL-SublimeText3 + path = sublime/syntaxes/extra/GraphQL-SublimeText3 url = https://github.com/dncrews/GraphQL-SublimeText3.git [submodule "sublime/syntaxes/Sublime-GenericConfig"] - path = sublime/syntaxes/Sublime-GenericConfig + path = sublime/syntaxes/extra/Sublime-GenericConfig url = https://github.com/skozlovf/Sublime-GenericConfig.git [submodule "sublime/syntaxes/sublime-jinja2"] - path = sublime/syntaxes/sublime-jinja2 + path = sublime/syntaxes/extra/sublime-jinja2 url = https://github.com/Martin819/sublime-jinja2.git [submodule "sublime/syntaxes/Julia-sublime"] - path = sublime/syntaxes/Julia-sublime + path = sublime/syntaxes/extra/Julia-sublime url = https://github.com/JuliaEditorSupport/Julia-sublime.git [submodule "sublime/syntaxes/LESS-sublime"] - path = sublime/syntaxes/LESS-sublime + path = sublime/syntaxes/extra/LESS-sublime url = https://github.com/danro/LESS-sublime.git [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 [submodule "sublime/syntaxes/SublimeSass"] - path = sublime/syntaxes/SublimeSass + path = sublime/syntaxes/extra/SublimeSass url = https://github.com/braver/SublimeSass.git [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 [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 [submodule "sublime/syntaxes/sublime-glsl"] - path = sublime/syntaxes/sublime-glsl + path = sublime/syntaxes/extra/sublime-glsl url = https://github.com/euler0/sublime-glsl.git [submodule "sublime/syntaxes/GDScript-sublime"] - path = sublime/syntaxes/GDScript-sublime + path = sublime/syntaxes/extra/GDScript-sublime 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 diff --git a/components/config/examples/generate_sublime.rs b/components/config/examples/generate_sublime.rs index f47bff13..4ad29cd2 100644 --- a/components/config/examples/generate_sublime.rs +++ b/components/config/examples/generate_sublime.rs @@ -10,6 +10,7 @@ use std::iter::FromIterator; use syntect::dumps::*; use syntect::highlighting::ThemeSet; use syntect::parsing::SyntaxSetBuilder; +use std::path::Path; fn usage_and_exit() -> ! { 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" => { let mut builder = SyntaxSetBuilder::new(); 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(_) => (), 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(); dump_to_file(&ss, packpath_newlines).unwrap(); let mut syntaxes: HashMap> = HashMap::new(); diff --git a/docs/content/documentation/content/syntax-highlighting.md b/docs/content/documentation/content/syntax-highlighting.md index d768058a..43e7a625 100644 --- a/docs/content/documentation/content/syntax-highlighting.md +++ b/docs/content/documentation/content/syntax-highlighting.md @@ -36,6 +36,7 @@ Here is a full list of supported languages and their short names: - C# -> ["cs", "csx"] - C++ -> ["C", "c++", "cc", "cp", "cpp", "cxx", "h", "h++", "hh", "hpp", "hxx", "inl", "ipp"] - Clojure -> ["clj", "cljc", "cljs", "edn"] +- ClojureC -> ["boot", "clj", "cljc", "cljs", "cljx"] - CMake -> ["CMakeLists.txt", "cmake"] - CMake C Header -> ["h.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"] - Diff -> ["diff", "patch"] - Dockerfile -> ["Dockerfile", "dockerfile"] +- EDN -> ["edn"] - Elixir -> ["ex", "exs"] - Elm -> ["elm"] - 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. +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). Alternatively, the `extra_syntaxes` configuration option can be used to add additional syntax files. diff --git a/sublime/syntaxes/Assembly x86.sublime-syntax b/sublime/syntaxes/extra/Assembly x86.sublime-syntax similarity index 100% rename from sublime/syntaxes/Assembly x86.sublime-syntax rename to sublime/syntaxes/extra/Assembly x86.sublime-syntax diff --git a/sublime/syntaxes/CSV.sublime-syntax b/sublime/syntaxes/extra/CSV.sublime-syntax similarity index 100% rename from sublime/syntaxes/CSV.sublime-syntax rename to sublime/syntaxes/extra/CSV.sublime-syntax diff --git a/sublime/syntaxes/Crystal.sublime-syntax b/sublime/syntaxes/extra/Crystal.sublime-syntax similarity index 100% rename from sublime/syntaxes/Crystal.sublime-syntax rename to sublime/syntaxes/extra/Crystal.sublime-syntax diff --git a/sublime/syntaxes/Dart.sublime-syntax b/sublime/syntaxes/extra/Dart.sublime-syntax similarity index 100% rename from sublime/syntaxes/Dart.sublime-syntax rename to sublime/syntaxes/extra/Dart.sublime-syntax diff --git a/sublime/syntaxes/Docker.tmbundle b/sublime/syntaxes/extra/Docker.tmbundle similarity index 100% rename from sublime/syntaxes/Docker.tmbundle rename to sublime/syntaxes/extra/Docker.tmbundle diff --git a/sublime/syntaxes/GDScript-sublime b/sublime/syntaxes/extra/GDScript-sublime similarity index 100% rename from sublime/syntaxes/GDScript-sublime rename to sublime/syntaxes/extra/GDScript-sublime diff --git a/sublime/syntaxes/GraphQL-SublimeText3 b/sublime/syntaxes/extra/GraphQL-SublimeText3 similarity index 100% rename from sublime/syntaxes/GraphQL-SublimeText3 rename to sublime/syntaxes/extra/GraphQL-SublimeText3 diff --git a/sublime/syntaxes/Handlebars.sublime-syntax b/sublime/syntaxes/extra/Handlebars.sublime-syntax similarity index 100% rename from sublime/syntaxes/Handlebars.sublime-syntax rename to sublime/syntaxes/extra/Handlebars.sublime-syntax diff --git a/sublime/syntaxes/Julia-sublime b/sublime/syntaxes/extra/Julia-sublime similarity index 100% rename from sublime/syntaxes/Julia-sublime rename to sublime/syntaxes/extra/Julia-sublime diff --git a/sublime/syntaxes/Kotlin.sublime-syntax b/sublime/syntaxes/extra/Kotlin.sublime-syntax similarity index 100% rename from sublime/syntaxes/Kotlin.sublime-syntax rename to sublime/syntaxes/extra/Kotlin.sublime-syntax diff --git a/sublime/syntaxes/LESS-sublime b/sublime/syntaxes/extra/LESS-sublime similarity index 100% rename from sublime/syntaxes/LESS-sublime rename to sublime/syntaxes/extra/LESS-sublime diff --git a/sublime/syntaxes/MZN.sublime-syntax b/sublime/syntaxes/extra/MZN.sublime-syntax similarity index 100% rename from sublime/syntaxes/MZN.sublime-syntax rename to sublime/syntaxes/extra/MZN.sublime-syntax diff --git a/sublime/syntaxes/Nim.sublime-syntax b/sublime/syntaxes/extra/Nim.sublime-syntax similarity index 100% rename from sublime/syntaxes/Nim.sublime-syntax rename to sublime/syntaxes/extra/Nim.sublime-syntax diff --git a/sublime/syntaxes/Nix.sublime-syntax b/sublime/syntaxes/extra/Nix.sublime-syntax similarity index 100% rename from sublime/syntaxes/Nix.sublime-syntax rename to sublime/syntaxes/extra/Nix.sublime-syntax diff --git a/sublime/syntaxes/PowerShell.sublime-syntax b/sublime/syntaxes/extra/PowerShell.sublime-syntax similarity index 100% rename from sublime/syntaxes/PowerShell.sublime-syntax rename to sublime/syntaxes/extra/PowerShell.sublime-syntax diff --git a/sublime/syntaxes/Prolog.sublime-syntax b/sublime/syntaxes/extra/Prolog.sublime-syntax similarity index 100% rename from sublime/syntaxes/Prolog.sublime-syntax rename to sublime/syntaxes/extra/Prolog.sublime-syntax diff --git a/sublime/syntaxes/README.md b/sublime/syntaxes/extra/README.md similarity index 100% rename from sublime/syntaxes/README.md rename to sublime/syntaxes/extra/README.md diff --git a/sublime/syntaxes/Racket.sublime-syntax b/sublime/syntaxes/extra/Racket.sublime-syntax similarity index 100% rename from sublime/syntaxes/Racket.sublime-syntax rename to sublime/syntaxes/extra/Racket.sublime-syntax diff --git a/sublime/syntaxes/Reason.sublime-syntax b/sublime/syntaxes/extra/Reason.sublime-syntax similarity index 100% rename from sublime/syntaxes/Reason.sublime-syntax rename to sublime/syntaxes/extra/Reason.sublime-syntax diff --git a/sublime/syntaxes/Stylus.sublime-syntax b/sublime/syntaxes/extra/Stylus.sublime-syntax similarity index 100% rename from sublime/syntaxes/Stylus.sublime-syntax rename to sublime/syntaxes/extra/Stylus.sublime-syntax diff --git a/sublime/syntaxes/Sublime-CMakeLists b/sublime/syntaxes/extra/Sublime-CMakeLists similarity index 100% rename from sublime/syntaxes/Sublime-CMakeLists rename to sublime/syntaxes/extra/Sublime-CMakeLists diff --git a/sublime/syntaxes/Sublime-GenericConfig b/sublime/syntaxes/extra/Sublime-GenericConfig similarity index 100% rename from sublime/syntaxes/Sublime-GenericConfig rename to sublime/syntaxes/extra/Sublime-GenericConfig diff --git a/sublime/syntaxes/SublimeElmLanguageSupport b/sublime/syntaxes/extra/SublimeElmLanguageSupport similarity index 100% rename from sublime/syntaxes/SublimeElmLanguageSupport rename to sublime/syntaxes/extra/SublimeElmLanguageSupport diff --git a/sublime/syntaxes/SublimeFortran b/sublime/syntaxes/extra/SublimeFortran similarity index 100% rename from sublime/syntaxes/SublimeFortran rename to sublime/syntaxes/extra/SublimeFortran diff --git a/sublime/syntaxes/SublimeSass b/sublime/syntaxes/extra/SublimeSass similarity index 100% rename from sublime/syntaxes/SublimeSass rename to sublime/syntaxes/extra/SublimeSass diff --git a/sublime/syntaxes/SublimeTextLinkerSyntax b/sublime/syntaxes/extra/SublimeTextLinkerSyntax similarity index 100% rename from sublime/syntaxes/SublimeTextLinkerSyntax rename to sublime/syntaxes/extra/SublimeTextLinkerSyntax diff --git a/sublime/syntaxes/Swift.sublime-syntax b/sublime/syntaxes/extra/Swift.sublime-syntax similarity index 100% rename from sublime/syntaxes/Swift.sublime-syntax rename to sublime/syntaxes/extra/Swift.sublime-syntax diff --git a/sublime/syntaxes/TypeScript.sublime-syntax b/sublime/syntaxes/extra/TypeScript.sublime-syntax similarity index 100% rename from sublime/syntaxes/TypeScript.sublime-syntax rename to sublime/syntaxes/extra/TypeScript.sublime-syntax diff --git a/sublime/syntaxes/TypeScriptReact.sublime-syntax b/sublime/syntaxes/extra/TypeScriptReact.sublime-syntax similarity index 100% rename from sublime/syntaxes/TypeScriptReact.sublime-syntax rename to sublime/syntaxes/extra/TypeScriptReact.sublime-syntax diff --git a/sublime/syntaxes/VimL.sublime-syntax b/sublime/syntaxes/extra/VimL.sublime-syntax similarity index 100% rename from sublime/syntaxes/VimL.sublime-syntax rename to sublime/syntaxes/extra/VimL.sublime-syntax diff --git a/sublime/syntaxes/awk-sublime b/sublime/syntaxes/extra/awk-sublime similarity index 100% rename from sublime/syntaxes/awk-sublime rename to sublime/syntaxes/extra/awk-sublime diff --git a/sublime/syntaxes/elixir-sublime-syntax b/sublime/syntaxes/extra/elixir-sublime-syntax similarity index 100% rename from sublime/syntaxes/elixir-sublime-syntax rename to sublime/syntaxes/extra/elixir-sublime-syntax diff --git a/sublime/syntaxes/lrc.sublime-syntax b/sublime/syntaxes/extra/lrc.sublime-syntax similarity index 100% rename from sublime/syntaxes/lrc.sublime-syntax rename to sublime/syntaxes/extra/lrc.sublime-syntax diff --git a/sublime/syntaxes/srt.sublime-syntax b/sublime/syntaxes/extra/srt.sublime-syntax similarity index 100% rename from sublime/syntaxes/srt.sublime-syntax rename to sublime/syntaxes/extra/srt.sublime-syntax diff --git a/sublime/syntaxes/extra/sublime-clojure b/sublime/syntaxes/extra/sublime-clojure new file mode 160000 index 00000000..c781793d --- /dev/null +++ b/sublime/syntaxes/extra/sublime-clojure @@ -0,0 +1 @@ +Subproject commit c781793d87e0ebfe30ff9d162779abfe3c8a8a91 diff --git a/sublime/syntaxes/sublime-fish b/sublime/syntaxes/extra/sublime-fish similarity index 100% rename from sublime/syntaxes/sublime-fish rename to sublime/syntaxes/extra/sublime-fish diff --git a/sublime/syntaxes/sublime-glsl b/sublime/syntaxes/extra/sublime-glsl similarity index 100% rename from sublime/syntaxes/sublime-glsl rename to sublime/syntaxes/extra/sublime-glsl diff --git a/sublime/syntaxes/sublime-jinja2 b/sublime/syntaxes/extra/sublime-jinja2 similarity index 100% rename from sublime/syntaxes/sublime-jinja2 rename to sublime/syntaxes/extra/sublime-jinja2 diff --git a/sublime/syntaxes/sublime-purescript-syntax b/sublime/syntaxes/extra/sublime-purescript-syntax similarity index 100% rename from sublime/syntaxes/sublime-purescript-syntax rename to sublime/syntaxes/extra/sublime-purescript-syntax diff --git a/sublime/syntaxes/sublime_toml_highlighting b/sublime/syntaxes/extra/sublime_toml_highlighting similarity index 100% rename from sublime/syntaxes/sublime_toml_highlighting rename to sublime/syntaxes/extra/sublime_toml_highlighting diff --git a/sublime/syntaxes/sublimetext-fsharp b/sublime/syntaxes/extra/sublimetext-fsharp similarity index 100% rename from sublime/syntaxes/sublimetext-fsharp rename to sublime/syntaxes/extra/sublimetext-fsharp diff --git a/sublime/syntaxes/vue-syntax-highlight b/sublime/syntaxes/extra/vue-syntax-highlight similarity index 100% rename from sublime/syntaxes/vue-syntax-highlight rename to sublime/syntaxes/extra/vue-syntax-highlight diff --git a/sublime/syntaxes/newlines.packdump b/sublime/syntaxes/newlines.packdump index ffa756dc..646806ba 100644 Binary files a/sublime/syntaxes/newlines.packdump and b/sublime/syntaxes/newlines.packdump differ