Commit Graph

3004 Commits (fcf1b8349f68c3f4b285d1c2c2e331124fe9370e)
 

Author SHA1 Message Date
Wilfred Hughes 7df38dc100 Allow escaped ; in characters 2021-08-15 23:19:58 +07:00
Wilfred Hughes 068a289701 Don't allow " in symbols without escaping 2021-08-15 23:17:39 +07:00
Wilfred Hughes bd1712cbd8 Make symbol regexp more tolerant
Elisp accepts a ton of different things in its symbol syntax.
2021-08-15 23:08:55 +07:00
Wilfred Hughes 3795beb5e6 Expand and combine list tests 2021-08-15 22:48:27 +07:00
Wilfred Hughes f94da4e9f5 Symbols can contain . 2021-08-15 22:47:06 +07:00
Wilfred Hughes a3e45ac3ca Don't allow symbols to start with ?
This would break sequences of character literals without spaces.
2021-08-15 22:43:30 +07:00
Wilfred Hughes fd8b148d08 & may occur anywhere in symbols 2021-08-15 22:36:10 +07:00
Wilfred Hughes 74a4f787cd Support escaped char literals 2021-08-15 22:21:26 +07:00
Wilfred Hughes 56be29d22b Expand integer literal tests 2021-08-15 22:05:47 +07:00
Wilfred Hughes 4cb77b0cca Support keycode characters 2021-08-15 22:02:11 +07:00
Wilfred Hughes eddcb63303 Fix grammar in readme 2021-08-15 21:32:46 +07:00
Wilfred Hughes 66da6568df Mention the textmate grammar 2021-08-15 20:37:55 +07:00
Wilfred Hughes db6d3423c0 Set a scope consistent with the textmate elisp grammar 2021-08-15 20:37:18 +07:00
Wilfred Hughes b93461f0c4 Move character literals to separate file 2021-08-15 18:59:55 +07:00
Wilfred Hughes 0f90ade631 Support hash table read syntax 2021-08-15 18:52:53 +07:00
Wilfred Hughes a4e19e9a9e Support string text properties 2021-08-15 18:49:21 +07:00
Wilfred Hughes e41a76cdb6 Support ##, the interned empty string 2021-08-15 18:43:32 +07:00
Wilfred Hughes 66c49a9aff Support escaped \, 2021-08-15 18:40:37 +07:00
Wilfred Hughes 0d11fecbfc Support { and } in symbols 2021-08-15 18:39:09 +07:00
Wilfred Hughes 6954d479d6 Use a separate grammar node for unquote splicing 2021-08-15 18:36:49 +07:00
Wilfred Hughes 447428e600 Support @ in symbols 2021-08-15 18:34:49 +07:00
Wilfred Hughes 46a854aae1 Improve handling of escaped symbols, particularly \' and \` 2021-08-15 18:32:43 +07:00
Wilfred Hughes c1b6bc5c24 Allow λ in symbols 2021-08-15 18:22:42 +07:00
Wilfred Hughes 01b3b68020 Allow $ in symbols 2021-08-15 18:17:20 +07:00
Wilfred Hughes 7844b79898 Allow ~ in symbols 2021-08-15 18:15:37 +07:00
Wilfred Hughes 34d2511293 Allow . in symbols 2021-08-15 18:13:40 +07:00
Wilfred Hughes 16136f5735 Allow | in symbols 2021-08-15 18:12:03 +07:00
Wilfred Hughes c569790fc5 Allow ! in symbols 2021-08-15 18:10:05 +07:00
Wilfred Hughes e86567f520 Allow backslashes in symbols
Elisp treats \x\y as equivalent to the symbol xy. This seems to mostly
be confusion with characters, where people write \n when they want ?\n.
2021-08-15 18:08:40 +07:00
Wilfred Hughes 6ea3b602a7 Allow % in symbols and add symbol tests 2021-08-15 17:58:25 +07:00
Wilfred Hughes 9a803c6322 Support bytecode literals 2021-08-15 17:55:38 +07:00
Wilfred Hughes f315d68837 Support string literals with escaped trailing newlines 2021-08-15 17:49:02 +07:00
Wilfred Hughes 9a692b1df8 Add test for string literals 2021-08-15 17:45:06 +07:00
Wilfred Hughes 84d6d9465d Treat line feed (\f in regex or ^L in Emacs) as whitespace 2021-08-15 17:39:20 +07:00
Wilfred Hughes aa8cf1feaa Support #$ special read syntax 2021-08-15 17:35:24 +07:00
Wilfred Hughes 1fd10f20b1 Document testing the parser against a big collection of files 2021-08-15 17:26:22 +07:00
Wilfred Hughes 747672700a Support dotted lists with >1 item before the dot 2021-08-15 17:26:01 +07:00
Wilfred Hughes 7ef2b12895 Supported dotted lists 2021-08-15 17:20:24 +07:00
Wilfred Hughes 70ef48dbb8 Hook up vendored tree-sitter-css 2021-08-15 17:06:16 +07:00
Wilfred Hughes 3eb9f3d91d Hook up vendored tree-sitter-go 2021-08-15 17:03:47 +07:00
Wilfred Hughes ff523a0bea Factor out a build helper function 2021-08-15 16:52:25 +07:00
Wilfred Hughes c80ce0d024 Use vendored tree-sitter-rust 2021-08-15 16:50:43 +07:00
Wilfred Hughes 8a6c7c8013 Add 'vendor/tree-sitter-go/' from commit 'eb306e6e60f393df346cfc8cbfaf52667a37128a'
git-subtree-dir: vendor/tree-sitter-go
git-subtree-mainline: 26c6438fa2
git-subtree-split: eb306e6e60
2021-08-15 16:42:25 +07:00
Wilfred Hughes 26c6438fa2 Add 'vendor/tree-sitter-css/' from commit '94e10230939e702b4fa3fa2cb5c3bc7173b95d07'
git-subtree-dir: vendor/tree-sitter-css
git-subtree-mainline: e31b5b4925
git-subtree-split: 94e1023093
2021-08-15 16:41:30 +07:00
Wilfred Hughes e31b5b4925 Add 'vendor/tree-sitter-json/' from commit '65bceef69c3b0f24c0b19ce67d79f57c96e90fcb'
git-subtree-dir: vendor/tree-sitter-json
git-subtree-mainline: 59f80c20dd
git-subtree-split: 65bceef69c
2021-08-15 16:41:09 +07:00
Wilfred Hughes 59f80c20dd Add 'vendor/tree-sitter-rust/' from commit 'a360da0a29a19c281d08295a35ecd0544d2da211'
git-subtree-dir: vendor/tree-sitter-rust
git-subtree-mainline: e7a6c3b11e
git-subtree-split: a360da0a29
2021-08-15 16:33:53 +07:00
Wilfred Hughes e7a6c3b11e Initial tree-sitter prototype 2021-08-15 16:16:48 +07:00
Wilfred Hughes 44faa8472c Use the same keywords as tree-sitter-javascript 2021-08-15 15:59:28 +07:00
Wilfred Hughes 3f6032d8cc Add explicit license file 2021-08-15 15:58:21 +07:00
Wilfred Hughes 9ea12fffe6 Ignore build/ 2021-08-15 11:15:45 +07:00