1use tree_sitter::Language;
4macro_rules! mk_extern {
5 ( $( $name:ident ),* ) => {
7 extern "C" { pub fn $name() -> Language; }
14 ( $( $camel:ident ),* ) => {
15 #[derive(Clone, Copy, Debug, PartialEq)]
25macro_rules! mk_get_language {
26 ( $( ($camel:ident, $name:ident) ),* ) => {
28 pub fn get_language(lang: LANG) -> Language {
32 LANG::$camel => $name(),
41macro_rules! mk_get_language_name {
42 ( $( $camel:ident ),* ) => {
44 pub const fn get_language_name(lang: LANG) -> &'static str {
47 LANG::$camel => stringify!($camel),
55macro_rules! mk_langs {
56 ( $( ($camel:ident, $name:ident) ),* ) => {
57 mk_extern!($( $name ),*);
58 mk_enum!($( $camel ),*);
59 mk_get_language!($( ($camel, $name) ),*);
60 mk_get_language_name!($( $camel ),*);
66 // 2) tree-sitter function to call to get a Language
67 (Agda, tree_sitter_agda),
68 (Bash, tree_sitter_bash),
70 (CSharp, tree_sitter_c_sharp),
71 // (Cpp, tree_sitter_cpp),
72 (Css, tree_sitter_css),
74 (Haskell, tree_sitter_haskell),
75 (Html, tree_sitter_html),
76 (Java, tree_sitter_java),
77 (Javascript, tree_sitter_javascript),
78 (Json, tree_sitter_json),
79 (Julia, tree_sitter_julia),
80 (Php, tree_sitter_php),
81 (Python, tree_sitter_python),
82 (Ruby, tree_sitter_ruby),
83 (Rust, tree_sitter_rust),
84 (Scala, tree_sitter_scala),
85 (Swift, tree_sitter_swift),
86 (Toml, tree_sitter_toml),
87 (Tsx, tree_sitter_tsx),
88 (Typescript, tree_sitter_typescript)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list