Max Brunsfeld
4996cbe830
cli: Move more of the tags code from main into the tags module
2020-03-10 16:52:10 -07:00
Max Brunsfeld
0e02ead0de
Update tags test to reflect new handling of escapes in queries
2020-03-10 15:53:42 -07:00
Max Brunsfeld
4531130b44
Merge branch 'master' into tags
2020-03-10 15:50:27 -07:00
Max Brunsfeld
741eed01b7
query: Handle escape sequences and escaped quotes in string literals
2020-03-10 15:50:06 -07:00
Max Brunsfeld
fc4d5c3a33
🔥 Dead test code
2020-03-10 12:23:13 -07:00
Max Brunsfeld
17cc38678c
Get generate_tags with the new iterator API
2020-03-10 12:05:09 -07:00
Max Brunsfeld
0eb162c685
wip: converting generate_tags to return an iterator
2020-03-10 11:45:31 -07:00
Max Brunsfeld
157258d881
tags: Implement strip regex for docs processing
...
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2020-03-10 10:43:23 -07:00
Max Brunsfeld
7f4828254f
Fix criteria for detecting when an aborted parse is resuming
2020-03-09 11:30:08 -07:00
Patrick Thomson
00dcc1eaa6
Need to use expression_statement here.
2020-03-06 17:48:55 -05:00
Max Brunsfeld
680a9e0531
wip
2020-03-06 13:24:03 -08:00
Max Brunsfeld
a3f0087b11
Start work on tagging unit test
...
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2020-03-05 13:04:49 -08:00
Max Brunsfeld
feac368a30
Start work on new tree-sitter-tags crate
...
Co-Authored-By: Patrick Thomson <patrickt@users.noreply.github.com>
2020-03-04 14:27:31 -08:00
Mark Schmitz
b1c7768cc2
Output also HTML_FOOTER with highlight --html ( #550 )
...
* Output also HTML_FOOTER with highlight --html
* move html footer output after end of for loop, as only one closing tag
is needed
2020-03-02 15:04:15 -08:00
Max Brunsfeld
ee46218a73
Fix incremental parsing problem with non-terminal extras
...
Also add PHP grammar as a fixture to test against.
2020-03-02 14:17:12 -08:00
Max Brunsfeld
e259af6a4e
0.16.5
2020-03-02 12:41:22 -08:00
Max Brunsfeld
6cb8d24de2
Merge pull request #542 from SKalt/issue-524-document-supertypes-in-grammar-schema
...
feat(cli): documented optional supertypes string[] in grammar schema
2020-02-24 16:14:49 -08:00
Steven Kalt
d82ee739e9
Update cli/src/generate/grammar-schema.json
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@github.com>
2020-02-24 18:13:38 -05:00
Max Brunsfeld
709ddfebe9
docs: Add explanation of syntax highlighting configuration for CLI
2020-02-21 11:39:27 -08:00
Max Brunsfeld
360b188644
cli: Handle 'underline' styling when highlighting w/ HTML output
2020-02-20 09:35:46 -08:00
Max Brunsfeld
570b83e2b2
query: Add immediate child operator
2020-02-19 11:47:52 -08:00
Max Brunsfeld
950a89a525
query: Differentiate between wildcard '*' and named wildcard '(*)'
2020-02-19 09:42:29 -08:00
Alyssa Verkade
0e689657b7
Add a language linkage declaration to parsers
...
Previously, in order to compile a `tree-sitter` grammar that contained
c++ source in the parser (ie the `scanner.cc` file), you would have to
compile the `parser.c` file separately from the c++ files. For example,
in rust this would result in a `build.rs` close to the following:
```
extern crate cc;
fn main() {
let dir: PathBuf = ["tree-sitter-ruby", "src"].iter().collect();
cc::Build::new()
.include(&dir)
.cpp(true)
.file(dir.join("scanner.cc"))
// NOTE: must have a name that differs from the c static lib
.compile("tree-sitter-ruby-scanner");
cc::Build::new()
.include(&dir)
.file(dir.join("parser.c"))
// NOTE: must have a name that differs from the c++ static lib
.compile("tree-sitter-ruby-parser");
}
```
This was necessary at the time for the following grammars: `ruby`,
`php`, `python`, `embedded-template`, `html`, `cpp`, `ocaml`,
`bash`, `agda`, and `haskell`.
To solve this, we specify an `extern "C"` language linkage declaration
to the functions that must be linked against to compile a parser with the
scanner, making parsers linkable against c++ source.
On all major compilers (gcc, clang, and msvc) this should be the only
change needed due to the combination of clang and gcc both supporting
designated initialization for years and msvc 2019 adopting designated
initializers as a part of the C++20 conformance push.
Subsequently, for rust projects, the necessary `build.rs` would become
(which also brings these parsers into sync with the current docs):
```
extern crate cc;
fn main() {
let dir: PathBuf = ["tree-sitter-ruby", "src"].iter().collect();
cc::Build::new()
.include(&dir)
.cpp(true)
.file(dir.join("scanner.cc"))
.file(dir.join("parser.c"))
.compile("tree-sitter-ruby");
}
```
2020-02-18 19:46:59 -08:00
Steven Kalt
c5ca259d09
feat(cli): documented optional supertypes Array<string> in grammar-schema.json
2020-02-15 11:23:14 -05:00
Max Brunsfeld
de8e3ee188
query: Allow multiple captures on a single node
2020-02-11 16:02:32 -08:00
Max Brunsfeld
5922064b75
node-types: Fix ambiguity warning on rustc 1.41
2020-02-10 10:26:12 -08:00
Max Brunsfeld
e23f518915
highlight: add built-in support for carriage-return highlight
2020-01-28 14:47:21 -08:00
Max Brunsfeld
f049ba350f
0.16.4
2020-01-28 10:09:26 -08:00
Max Brunsfeld
d06407aca2
Update highlight test for JSDoc grammar changes
2020-01-27 13:08:30 -08:00
Max Brunsfeld
3f109a3cb5
highlight: Fix logic for handling empty injections with no highlights
2020-01-27 12:32:37 -08:00
Max Brunsfeld
8dd68c360a
Fix logic for generating unique symbol map
...
Previously, this didn't correctly handle the case where *multiple*
symbols were all simply-aliased to the same *other* symbol.
Refs #500
2020-01-27 12:06:48 -08:00
Max Brunsfeld
9f63139a10
Fix error when set_included_ranges is called with an invalid range list
2020-01-17 10:31:28 -08:00
Max Brunsfeld
de8877db35
0.16.3
2020-01-16 16:18:25 -08:00
Max Brunsfeld
7421836ee4
Improve cli error message on invalid glob
2020-01-16 16:17:33 -08:00
Max Brunsfeld
9d460e6d01
Merge pull request #525 from SKalt/add-field-rule-to-grammar-json-schema
...
added field-rule to grammar-schema.json
2020-01-16 16:06:48 -08:00
Max Brunsfeld
9dfd03e79a
highlight: Sipmlify injection API w/ new injection.combined property
2020-01-16 12:43:31 -08:00
Max Brunsfeld
f3747863df
Add ts_query_disable_pattern API
2020-01-15 17:08:55 -08:00
Max Brunsfeld
58617cfa0c
Improve output format for query subcommand
2020-01-15 17:08:31 -08:00
Steven Kalt
619d7cd65a
added field-rule to grammar-schema.json
2020-01-12 19:40:21 -05:00
Steven Kalt
e69430ae7d
removed duplicate key ( #521 )
...
The key "required" was duplicated on "symbol-rule". I removed the more permissive copy.
2020-01-09 17:34:07 -08:00
Max Brunsfeld
9a73277389
web-ui: Load static files from disk if TREE_SITTER_BASE_DIR var is set
2019-12-19 11:23:14 -08:00
Max Brunsfeld
f53e7377dc
Allow highlight to command to take glob patterns
2019-12-17 15:49:05 -08:00
Max Brunsfeld
6c5adb7072
0.16.2
2019-12-17 15:06:21 -08:00
Max Brunsfeld
f0e4d630d5
Reliably avoid duplicate subtypes in node-types.json
2019-12-17 14:55:51 -08:00
Max Brunsfeld
3ac047679c
Fix children.required when multiple nodes are aliased as the same
2019-12-16 12:39:57 -08:00
Max Brunsfeld
7c711c5537
Move the private functions in node_types.rs to the end of the file
2019-12-16 12:38:40 -08:00
Max Brunsfeld
5edf97bca9
Remove accidentally-commited garbage line in arg parsing config
2019-12-16 11:59:26 -08:00
Max Brunsfeld
9a0cfa2376
Fix 'required' field when rules with diff fields are aliased to look the same
2019-12-12 11:26:58 -08:00
Max Brunsfeld
fc19312913
Fix node-types bugs involving aliases and external tokens
2019-12-12 10:06:18 -08:00
Max Brunsfeld
1b5ae380ce
Don't attempt to extract keywords that don't entirely match word token ( #505 )
2019-12-11 17:18:15 -08:00