Conversation
This adds support for the Fennel programming language: https://fennel-lang.org I couldn't find much explanation for what the different lexer rules meant, so I based it off of Clojure's lexer since the two languages share a very similar syntax. I also included a program to generate a list of keywords from Fennel's own listing, which will make it easier to update in the future.
9ae4fd5 to
d650f04
Compare
|
Nice, thanks. Can you add some test data per the README in the lexers directory? |
|
Sure; I'll give it a shot. I don't have the golang tooling installed on my machine and don't really want to go thru all that, so I'll push it out to CI and see if I can generate the Edit: ugh, for some reason CircleCI is blocking me from SSHing into the build so my plan to fix this won't work. |
10da145 to
3d6c736
Compare
|
Got some help with generating the |
|
An error entry means that input text wasn't matched by any of the patterns. |
|
BTW you should be able to install and run go automatically via ./bin/go |
|
I see; so it sounds like maybe the problem is that whitespace needs to be listed explicitly then? I was basing this off the Clojure lexer, which doesn't do this. But maybe the Clojure lexer is broken too? https://github.com/alecthomas/chroma/blob/master/lexers/c/clojure.go I don't see any tests for it so maybe it just got overlooked? |
|
When I initially created Chroma there was no test data, so many lexers are missing them. However Clojure does match whitespace here. |
|
I see. But that treats whitespace as |
dae4419 to
3d5f86a
Compare
|
Linter is failing. I'll paste it in here so you don't have to login to Circle:
Just run |
|
Looks like it doesn't support my machine. Maybe I can try it on another machine later. |
3d5f86a to
2c7da91
Compare
|
Quicker to just replace the spaces with tabs manually I guess... |
|
Thanks for persisting. Out of curiosity, what sort of machine are you running on? |
|
Thanks for your help! I'm developing on an MNT Reform. https://mntre.com/ |
This adds support for the Fennel programming language: https://fennel-lang.org
I couldn't find much explanation for what the different lexer rules
meant, so I based it off of Clojure's lexer since the two languages
share a very similar syntax.
I also included a program to generate a list of keywords from Fennel's
own listing, which will make it easier to update in the future.