I will mention just created lexers in this topic

All questions regarding lexer highlighting schemes are discussed here...
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

Lexer ReScript was just added. it is strongly typed language, which compiles to JS. VSCode extension has 25K downloads so it is popular.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

Granule-project. functional language. Github repo is OK, many stars.... but VSCode extension has 85 downloads since 1/6/2022. not popular!
so I did not make lexer.
https://marketplace.visualstudio.com/it ... ct.granule
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

lexer 'Roc' was created just today.
it is functional language.
lexer has indent-based folding, I had hard times to setup it, and some folding issues are not fixed yet...
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

lexer 'Pkl' was created.
It is special config-like format from Apple.
But not popular, even if from Apple.
Code-tree: shows only 'class' items, I am not sure what other items to show: 'function' items maybe? 'function' items don't have a body {...} in my testfiles (repo of Pkl from Github). so not sure we need functions items in tree.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

lexer Gleam was made today.
>>Gleam is a friendly language for building type-safe systems that scale! The power of a type system, the expressiveness of functional programming, and the reliability of the highly concurrent, fault tolerant Erlang runtime, with a familiar and modern syntax.

the most hard part was to consider all weird operators, e.g. '>=.' (3 chars), '#(' .
code-tree shows funcs as 1 level, without nesting currently.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

lexer 'PureScript' was made today.
>>PureScript is a strongly-typed, purely-functional programming language that transpiles to JavaScript, C++11, Erlang, and Go. It can be used to develop web applications, server side apps, and also desktop applications with use of Electron or via C++11 and Go compilers with suitable libraries.

the lexer creation was simple, with one hard part: getting all std-function names from SublimeText lexer. lot and lot of std-functions.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

lexer Ziggy was just made.
site: https://ziggy-lang.io
I see that site is very good and lang is promising.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Re: I will mention just created lexers in this topic

Post by main Alexey »

lexer Ring was published.
it has very poor design regarding func definitions:
1. func block with optional 'end' keyword. if 'end' is missed, seems we need to detect block end by additional 'return' keyword. or by file end.
2. func block with {} brackets.
() brackets in 'func' line can be present or not (e.g. present in matrixlib.ring). bad!
class-blocks have ending keyword or not? or they are based on indent? brackets {} can exist?
I cannot invent rules for this design, so 'func'/'class' blocks are not folded at all.

lang docs cannot say about multi-line strings (if possible, for what quote chars?). and cannot say about escape-char in strings.

github 'issues' are disabled for Ring repo. maybe authors know that they fail too often.

EDIT: I got replies from one developer so I added the folding for 'func'/'class'. only for the case func is ended by 'return' or another func (case of {} is not handled).
Post Reply