Stream: git-wasmtime

Topic: wasmtime / issue #5752 ISLE IDE functionality


view this post on Zulip Wasmtime GitHub notifications bot (Feb 09 2023 at 08:28):

bjorn3 opened issue #5752:

Currently ISLE doesn't have any IDE functionality. It would be nice to get the following:

view this post on Zulip Wasmtime GitHub notifications bot (Feb 09 2023 at 08:37):

cfallin commented on issue #5752:

I would love for an LSP implementation to exist someday for ISLE -- if anyone is looking for a fairly substantial and impactful, but well-defined and orthogonal, project, then this would be a great one.

Regarding syntax highlighting and automatic code formatting: I've gotten decent results by treating ISLE like Lisp, FWIW: lisp-mode in Emacs auto-indents the s-expressions and lets me navigate the structure (paired parens, up a level, etc). Vim likely has equivalents too. A very janky first-draft implementation of isle-fmt might just be Emacs in batch mode running indent-region over the file! (Ideally we have something more self-contained and efficient than that eventually, of course.)

view this post on Zulip Wasmtime GitHub notifications bot (Feb 09 2023 at 17:14):

jameysharp commented on issue #5752:

Apparently somebody has already implemented the "run Emacs in batch mode" approach to formatting Lisp source: https://github.com/eschulte/lisp-format/blob/master/lisp-format

view this post on Zulip Wasmtime GitHub notifications bot (Feb 09 2023 at 17:56):

elliottt commented on issue #5752:

As a quick way to get go-to-definition working, it would be pretty easy to emit a tags file from islec. vim and emacs both know how to navigate those, and that could make working with the codebase a little bit easier.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 09 2023 at 18:53):

bjorn3 commented on issue #5752:

I don't think it would be much harder to implement a basic lsp server. Rust-analyzer has the lsp-server crate that does half the work.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 09 2023 at 19:04):

bjorn3 edited issue #5752:

Currently ISLE doesn't have any IDE functionality. It would be nice to get the following:

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2023 at 02:18):

yuyang-ok commented on issue #5752:

https://github.com/yuyang-ok/isle-analyzer/blob/main/editors/code/README.md
I have been developing IDE support for ISLE language right now I think it is ready to lauch.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2023 at 02:18):

yuyang-ok edited a comment on issue #5752:

https://github.com/yuyang-ok/isle-analyzer/blob/main/editors/code/README.md
I have been developing IDE support for ISLE language for a while.
right now I think it is ready to lauch.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2023 at 02:18):

yuyang-ok edited a comment on issue #5752:

https://github.com/yuyang-ok/isle-analyzer/blob/main/editors/code/README.md
I have been developing IDE support for ISLE language for a while.
right now I think it is ready to launch.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2023 at 02:19):

yuyang-ok edited a comment on issue #5752:

https://github.com/yuyang-ok/isle-analyzer/blob/main/editors/code/README.md
I have been developing IDE support for ISLE language a while.
right now I think it is ready to launch.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2023 at 06:38):

bjorn3 commented on issue #5752:

Cool! What license does it have?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 01 2023 at 00:22):

yuyang-ok commented on issue #5752:

@bjorn3 Apache License 2.0 :-)

view this post on Zulip Wasmtime GitHub notifications bot (Sep 14 2024 at 11:04):

jwnrt commented on issue #5752:

I made a tree sitter grammar which is working pretty well for syntax highlighting and navigation in Helix, but I haven't tested it very thoroughly yet.

https://github.com/jwnrt/tree-sitter-isle

FYI, I think the grammar in the language reference has fallen out of sync with the parser. It's missing some additions like if-let, if, partial, pure, and infallible.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 17 2024 at 21:18):

cfallin commented on issue #5752:

@jwnrt this is pretty cool! If you'd like to link to it from the ISLE docs, please feel free to submit a PR for that (maybe cranelift/isle/docs/language-reference.md -- we'd be happy to take updates to the grammar there too if you have them top-of-mind, as it seems likely we've missed updates there as you note).


Last updated: Dec 23 2024 at 12:05 UTC