Skip to content
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

More syntax highlighting languages #10

Open
16 of 23 tasks
endigma opened this issue Dec 22, 2023 · 23 comments
Open
16 of 23 tasks

More syntax highlighting languages #10

endigma opened this issue Dec 22, 2023 · 23 comments

Comments

@endigma
Copy link

endigma commented Dec 22, 2023

Requested:

  • Vue
  • HCL
  • R
  • Ini
  • Dart
  • Properties
  • Scala
  • Liquid
  • reStructuredText
  • PowerShell
  • Diff
  • TOML
  • Golang
  • Ruby
  • Shell
  • YAML
  • TypeScript
  • JSX
  • TSX
  • Clojure
  • C#
  • Erlang
  • Groovy
@endigma
Copy link
Author

endigma commented Dec 22, 2023

From #11

  • Elixir
  • Erlang

@heyman
Copy link
Owner

heyman commented Dec 22, 2023

Heynote uses Lezer for its syntax highlighting, and if a Lezer parser exist for a language it's fairly trivial to add it to Heynote.

I just found this repo which seems to have support for
some of those languages, so it might be easy to add. I will look into it!

@endigma
Copy link
Author

endigma commented Dec 22, 2023

From #19

  • Vue
  • Rails (Ruby)

@endigma
Copy link
Author

endigma commented Dec 22, 2023

@heyman Could probably pin this to avoid dupe spam

@endigma endigma changed the title Feature Request: More syntax languages More syntax highlighting languages Dec 22, 2023
@endigma
Copy link
Author

endigma commented Dec 22, 2023

Heynote uses Lezer for its syntax highlighting, and if a Lezer parser exist for a language it's fairly trivial to add it to Heynote.

I just found this repo which seems to have support for some of those languages, so it might be easy to add. I will look into it!

legacy-modes has
  • apl
  • asciiarmor
  • asn1
  • asterisk
  • brainfuck
  • clike
  • clojure
  • cmake
  • cobol
  • coffeescript
  • commonlisp
  • crystal
  • css
  • cypher
  • d
  • diff
  • dockerfile
  • dtd
  • dylan
  • ebnf
  • ecl
  • eiffel
  • elm
  • erlang
  • factor
  • fcl
  • forth
  • fortran
  • gas
  • gherkin
  • go
  • groovy
  • haskell
  • haxe
  • http
  • idl
  • javascript
  • jinja2
  • julia
  • livescript
  • lua
  • mathematica
  • mbox
  • mirc
  • mllike
  • modelica
  • mscgen
  • mumps
  • nginx
  • nsis
  • ntriples
  • octave
  • oz
  • pascal
  • pegjs
  • perl
  • pig
  • powershell
  • properties
  • protobuf
  • puppet
  • python
  • q
  • r
  • rpm
  • ruby
  • rust
  • sas
  • sass
  • scheme
  • shell
  • sieve
  • simple-mode
  • smalltalk
  • solr
  • sparql
  • spreadsheet
  • sql
  • stex
  • stylus
  • swift
  • tcl
  • textile
  • tiddlywiki
  • tiki
  • toml
  • troff
  • ttcn-cfg
  • ttcn
  • turtle
  • vb
  • vbscript
  • velocity
  • verilog
  • vhdl
  • wast
  • webidl
  • xml
  • xquery
  • yacas
  • yaml
  • z80

https://github.com/orgs/codemirror/repositories?language=&q=lang-&sort=&type=all

Addons cover vue, liquid, angular, less, sass not currently in heynote

https://github.com/codemirror/google-modes

This appears to contain a golang mode as well as Kotlin, TypeScript, C

@cursive-ide
Copy link

Clojure/EDN support would also be nice, and this is linked from Lezer itself.

@CoenraadS
Copy link

C# (csharp)

@espenja
Copy link
Contributor

espenja commented Dec 25, 2023

From #64

  • TypeScript
  • JSX
  • TSX

@heyman
Copy link
Owner

heyman commented Dec 26, 2023

Most of the requested Languages have now been added. I've released a new beta version (you can update to it by turning on Beta versions in Heynote's settings).

heyman pushed a commit that referenced this issue Dec 31, 2023
* Add Swift language support

* Add Kotlin language support
@eizedev
Copy link

eizedev commented Dec 31, 2023

  • PowerShell

@windymelt
Copy link

Scala support would be nice, thank you!

@jonedmiston
Copy link

Liquid would be helpful for us.

@aiiv
Copy link

aiiv commented Jan 23, 2024

dart

@TheMadLeprechaun
Copy link

AsciiDoc would be great.

@porridgewithraisins
Copy link

Support for git diffs (in vscode language list it is Diff) would be great.

@richieadler
Copy link

We have Markdown, AsciiDoc was requested... is only fair that we have reStructuredText also.

@heyman
Copy link
Owner

heyman commented Feb 9, 2024

PowerShell

Support for git diffs (in vscode language list it is Diff) would be great.

PowerShell and Diff support fixed in #191

@MystPi
Copy link

MystPi commented Feb 24, 2024

I would love support for Gleam!

@dljsjr
Copy link

dljsjr commented Mar 12, 2024

Would love to see Lua support added :)

@benkates
Copy link

+1 for R, thanks!

@Akselmo
Copy link

Akselmo commented Oct 26, 2024

I'd like to see Odin language :)

@renyuneyun
Copy link

renyuneyun commented Nov 20, 2024

Would be great to see support for RDF-related syntaxes. In particular (in order of personal preference):

  • Turtle
    • Then full N3 (Notation 3)
  • SPARQL
  • JSON-LD (well, it's almost just JSON, but with some special keywords; syntax highlight is for types of data, the special keywords, and then prefixes if possible)
  • RDF/XML (well, it's almost just XML)

May be too much... Maybe worth documenting how, and potential contributors may send PRs.

@jc00ke
Copy link

jc00ke commented Dec 28, 2024

I'd love to help out with getting Elixir added, but my initial stab at it has proven unfruitful. There's a lezer-elixir and it's used in codemirror-lang-elixir but I'm not quite sure how to wire it up. I first attempted to wire it up the same way as Erlang, and then tried Markdown, then like javascriptLanguage, no luck with any.

This is the error I keep seeing when I select Elixir from the language list:

TypeError: Cannot read properties of null (reading 'from')
    at enter (block.js:39:69)
    at _Tree.iterate (chunk-6BKTIZNU.js?v=2f35efac:322:75)
    at getBlocksFromSyntaxTree (block.js:33:14)
    at getBlocks (block.js:143:16)
    at _StateField.update [as updateF] (block.js:157:20)
    at Object.update (chunk-UG2KWNZJ.js?v=2f35efac:1671:26)
    at _EditorState.computeSlot (chunk-UG2KWNZJ.js?v=2f35efac:2311:85)
    at ensureAddr (chunk-UG2KWNZJ.js?v=2f35efac:1892:23)
    at new _EditorState (chunk-UG2KWNZJ.js?v=2f35efac:2250:7)
    at _EditorState.applyTransaction (chunk-UG2KWNZJ.js?v=2f35efac:2311:5)

I can't track down why that langNode would be null. 🤷‍♂️

I'm working off of ff88091.

Thanks for your help and I'm looking forward to using HeyNote! Happy to move this to a separate issue if you want, LMK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests