-
-
Notifications
You must be signed in to change notification settings - Fork 401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Fennel. #530
Support Fennel. #530
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.