Most active commenters

    ←back to thread

    255 points rd07 | 16 comments | | HN request time: 1.487s | source | bottom
    1. geenat ◴[] No.41297978[source]
    As an extension writer...

    Writing extensions in Lua is huge. (Same as OBS) Looks very simple and productive.

    It's one of the main reasons I've stuck to Sublime... extending with Python is very easy and works everywhere.

    Even if both Zed and VSCode are strong in other areas.. Rust extensions makes me cringe (a build toolchain? ugh..) VSCode's inconsistent undocumented Javascript API is a pain in the butt (paste & pray driven development).

    Will be keeping an eye on this.

    replies(7): >>41298090 #>>41298131 #>>41298175 #>>41298234 #>>41299527 #>>41299676 #>>41300681 #
    2. ta8645 ◴[] No.41298090[source]
    For what it's worth, NeoVim's extension language is Lua as well.
    replies(2): >>41299077 #>>41303135 #
    3. throwup238 ◴[] No.41298131[source]
    > VSCode's inconsistent undocumented Javascript API is a pain in the butt (paste & pray driven development).

    It's so bad they have a whole Github Copilot mode specifically dedicated to it. Pay and pray driven development.

    replies(1): >>41298439 #
    4. p4bl0 ◴[] No.41298175[source]
    That's what I really love with Kate (and actually the KTextEditor component of KDE Frameworks): you can build heavy plugins in C++ but there is also a very good JavaScript API that you can write new editing commands with for example.
    5. rd07 ◴[] No.41298234[source]
    Lite XL (which is a project Pragtical forked on) is my first experience writing a plugin for code editor and coding in Lua, and I am surprised on how easy is it. I don't know about other editors, but in Lite XL and Pragtical I can extend or overwrite almost anything the core plugin is doing. I can even start writing the plugin in my user module file (init.lua), and see the change on the fly.
    replies(1): >>41298854 #
    6. lukan ◴[] No.41298439[source]
    Oh and I kind of finally decided to give those shiny modern tools a serious try. Paste (pay) and pray does not sound too good on the other hand.
    7. kqr ◴[] No.41298854[source]
    This is inspired by Emacs which works the same way. It, in turn, takes inspiration from how Lisp systems have worked since time immemorial. You're meant to open a REPL directly into the running system as a way to evolve it.
    replies(1): >>41299045 #
    8. hprotagonist ◴[] No.41299045{3}[source]
    and the circle is complete: https://fennel-lang.org
    9. srik ◴[] No.41299077[source]
    Yup. I've paradoxically found it more convenient to write my neovim plugins+configuration in lua than in python with vanilla vim's python api.
    10. pjmlp ◴[] No.41299527[source]
    Yeah, I always complain about Python lack of JIT, but being extension language is actually a good use for it.

    Or Tcl, which I used 20 years ago as for our in-house proxy module for Apache/IIS, extensible in C and Tcl.

    Unfortunely out of fashion for anyone besides EDA tooling.

    11. theshrike79 ◴[] No.41299676[source]
    Wezterm is configured with Lua, Hammerspoon configs are also Lua.

    Both are super easy to sync to multiple computers with chezmoi and the configs themselves can be smart enough to behave differently on different machines.

    I wish more software used Lua for config.

    12. daelon ◴[] No.41300681[source]
    I'm a VSCode extension author and I don't really know what you mean by "inconsistent undocumented API". Do you have any examples?
    replies(1): >>41300761 #
    13. golergka ◴[] No.41300761[source]
    I haven't written much vscode extensions, but I've worked professionally on editors that use Monaco (the text editor library used and developed by vscode team). There's almost no documentation whatsoever.
    14. coliveira ◴[] No.41303135[source]
    Vim also has support for Lua scripts.
    replies(1): >>41309277 #
    15. maleldil ◴[] No.41309277{3}[source]
    Not to the same extent. Neovim has extensive Lua support, to the point where you can do _almost_ anything in Lua, whereas in Vim, it's, AFAIK, a second-class citizen. For example, my nvim config is written entirely in Lua with no vimscript files, except for a few vim.cmd's that run one-line vimscript commands. (exactly three, and they're all highlighting/colorscheme–related).
    replies(1): >>41312132 #
    16. coliveira ◴[] No.41312132{4}[source]
    I believe you can do the same in vim, however I agree that there is more friction in vim because Lua is not the main scripting language. Moreover, vim is not guaranteed to be compiled with Lua, so you only want to do this if you can control the installation of the vim binaries.