-
Notifications
You must be signed in to change notification settings - Fork 98
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
Feature request: Basic user defined languages #105
Labels
Comments
Something like that is planned, yes
…On Fri, Jul 21, 2023, 11:26 AM Sanian ***@***.***> wrote:
Request
I know you're accepting PRs for highlighting, but that is highlighting
which is built into the editor. I think a simple format for adding *basic*
highlighting to languages that are *not* natively supported by the editor
would go a long way into making it more pleasant to use. It could work
through a separate file or folder for user defined languages and have
syntax similar to the focus-config file.
I get that this is a big ask and not some small feature than can be easily
added, but it's something to think about.
Example
Here's how one such file could look like.
[file extensions]
.somelanguage .sl
[operations]
words reinterpret_cast const_cast dynamic_cast
symbols + - * / % == != ! = && & || | >> > >= < << <=
[keywords]
break case continue do else enum for if return struct switch union while
[types]
bool char int short long float double signed unsigned void
[values]
true false null
[comments]
# This one's a bit weird, perhaps in this file you shouldn't be allowed to put comments on the same line as statements,
# that way # can be used anywhere as a symbol without having to be escaped in weird ways
line_comment #
block_comment /* */
nested_block_comment /* */
# block_comment is the c-type block comment, nested_block_comment is the jai-type block comment.
# these should probably be mutually exclusive
[strings]
# May provide multiple kinds of strings, as languages often have multiple types of strings.
# Providing an escape character is optional
single_line_string " \
single_line_string ' \
multiline_string """ \
multiline_string ` \
# I'm not sure how to add support for the other colors.
# Perhaps these just don't get supported for user defined languages
[highlights]
# ???
[functions]
# ???
[punctuations]
# ???
—
Reply to this email directly, view it on GitHub
<#105>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A4OX77VEPUC3VRXTUOTA3UTXRG5EHANCNFSM6AAAAAA2SDA6OA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Decent ideas for syntax! |
Looking forward to this! I'll probably wait for this feature before fully switching to use Focus, as I'd like syntax highlighting for Zig, but I don't have the |
Fyi the very first version of focus was written in Zig and had highlighting
https://github.com/obiwanus/focus-zig :)
It didn't have any other features though, such as global search or mouse
support, since that one was strictly for myself and I wanted a
keyboard-focused editor
…On Tue, Jan 16, 2024, 6:16 AM José M Rico ***@***.***> wrote:
Looking forward to this! I'll probably wait for this feature before fully
switching to use Focus, as I'd like syntax highlighting for Zig
<https://ziglang.org/>, but I don't have the jai compiler so I can't
really test out modifications to the source code (unless someone PRs
src/langs/zig.jai in the meantime).
—
Reply to this email directly, view it on GitHub
<#105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A4OX77VP2HZ3COKW2MFDWKTYOVP5BAVCNFSM6AAAAAA2SDA6OCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJSGU2DCNRZGM>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Request
I know you're accepting PRs for highlighting, but that is highlighting which is built into the editor. I think a simple format for adding basic highlighting to languages that are not natively supported by the editor would go a long way into making it more pleasant to use. It could work through a separate file or folder for user defined languages and have syntax similar to the focus-config file.
I get that this is a big ask and not some small feature than can be easily added, but it's something to think about.
Example
Here's how one such file could look like.
The text was updated successfully, but these errors were encountered: