Syntax highlighting and code completion for Elixir files (.ex, .exs, .eex) in Nova.
stollcri / elixir.novaextension Goto Github PK
View Code? Open in Web Editor NEWElixir Language Definition Extension for Panic Nova
License: MIT License
Elixir Language Definition Extension for Panic Nova
License: MIT License
Support for with
is missing.
Example:
defp serve(socket) do
msg =
with {:ok, data} <- read_line(socket),
{:ok, command} <- KVServer.Command.parse(data),
do: KVServer.Command.run(command)
write_line(socket, msg)
serve(socket)
end
@stollcri, @optikfluffel, @raulchedrese, @denny-trebbin, @brandc87
I don't think that the Elixir + Nova community is all that big at the moment. What do you all say to starting an org that houses all the Elixir-related Nova efforts that you've all started? I know that some of you have already combined efforts a bit. So should we take that further?
It'd be nice if there was one, canonical, syntax support extension. One language server extension. One formatting extension. Etc. I know that there isn't that much fragmentation now, but it might be nice for people to realize we are all communicating and only actually publishing the best version of each of these things.
My proposal would be to create an org called nova-elixir
on GitHub. From there, we'd pull in the existing repos that you all have created. Next we'd combine the two "ElixirLS" repos into one extension and archive the old ones (including the "Elixir" extension which is already included in Raul's "ElixirLS"). I'd suggest just calling the new extension "Elixir". The formatter could stay separate at first, then could be merged into the new "Elixir" extension. Eventually the org would have four archived repos and one active one.
If there is a need/desire that someone has for Elixir snippets or other things Elixir-related, that could be its own extension/repo under the org.
In addition, we could remove the old versions of the extensions from Panic's directory (assuming that is possible). Then when someone wants to work with Elixir in Nova, it is obvious what extension(s) to install and exactly where to go to contribute.
I realize that none of you have asked for your work to be pushed into another place or combined with other code, but I figured I'd suggest it to everyone because that is exactly what I was looking for ๐ when trying to find "the best" Elixir extension for Nova.
We'd have to iron out a few details, surely. But is this idea worth pursuing?
Hi,
I've installed this extension and only syntax highlighting seems to work, no code completion seems to be taking place.
Is there a way to see if there are runtime errors or something? I'm new to the editor and I see no obvious errors messages.
Hey @stollcri @optikfluffel,
Any plans to include Language Server functionality in this extension? I think it would be great if users only had to install a single extension to get all the Elixir functionality they want. I've been working on an Elixir Language Server extension https://github.com/raulchedrese/nova-elixir-ls. If you are interested I'd love to see these two projects merged.
When a function head is used for defining default arguments for multiple function signatures, the syntax highlighting breaks for the next function definition until end
is reached.
P.S. Thank you for pulling this package together! I'm hoping to get a chance to dive into Nova extensions soon and contribute where I can.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.