hachyderm.io is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hachyderm is a safe space, LGBTQIA+ and BLM, primarily comprised of tech industry professionals world wide. Note that many non-user account types have restrictions - please see our About page.

Administered by:

Server stats:

9.5K
active users

#vimscript

0 posts0 participants0 posts today

#helix vs #neovim. spot the differences!

the main one isn't really visible, though: helix has a built-in #treesitter, and it does a great job at highlighting #rust out of the box, with zero configuration and dependencies!

this way, i don't have 20 plugins in #lua and/or #vimscript running in the background and autoupdating from #github - awesome! 🌈🦄 config is plain #toml - no need to write it in turing-complete languages which i only know poorly

shout out @bobulous 🙌 bobulous.org.uk/coding/Helix-c

I think any large interesting program you might write could well have an embedded language within it, in which the user can write stuff that is just as good, and just as deep as built-in functionality. You want this. It’s a thing that makes programs compelling.

In , that embedded language is . In , that’s (which in fact, I think the whole thing is written in). In a environment, you control the entire environment with Smalltalk, just as elisp applies to Emacs. For many, many things, that language is ( , many games, , , this list goes on).

I used to think there were really two reasonable mainstream languages you could use here: or . Between those two, for a long time I felt that JavaScript was the winner. I think that has changed as Python has gotten faster, more powerful, and better known. But also, I think the answer might actually not be either of these two. It might be Lua. Lua is simpler and faster than either JavaScript or Python. It’s more embeddable. It’s designed specifically for this purpose. It’s in much wider use as an embedded scripting language. I don’t want Lua to be the answer. I like Python better. But I think Lua actually is the right answer.

I found what was replacing all my argument lists with underscores: argtextobj.vim. This is one of my favorite plugins. It hasn’t been touched in 15 years, though. Probably something changed in the editor itself that broke it. I could abandon it; I could fix it; or I could rewrite it. I asked my friend what language it should be rewritten in. He said of course! I disagreed. That would only work in Vim. would only work in NeoVim. Maybe from just before 9. Maybe . Maybe . All three of those would run in both. I kinda don’t want to use VimScript, but that’s technically the correct choice.

Of course it would be waaay easier if it used the . Otherwise you’re parsing patterns and brackets and strings. Not sure such a solution works in plain old Vim.

What does the say?

Why is adding custom #parser, #grammar, and #syntax definition to #TreeSitter in #Neovim so unnecessary and annoyingly complex and complicated?

parser.c? node-types.json? Cargo.toml? binding.gyp? What the actual fuck? I have a 10 lines long old #vimscript syntax highlighting file I want to modernize by invoking treesitter, but this seems to be an impossible task without installing a whole development environment and compiling stuff from other stuff to do magic stuff.

Why can’t I simply drop a #Lua-based matching definition in a directory and call it a day? Why does everything have to do stuff based on stuff based on other stuff?

Migrated from #neovim back to #vim after several years of use because:

  1. I neither need nor use LSP.
  2. I don’t need two scripting languages in a text editor.
  3. Neovim #plugin ecosystem is a dependency hell.
  4. Neovim #plugins are fancy but that results in also a fancy configuration to maintain.
  5. I don’t mind a slow release cycle. My vim workflow hasn’t changed for ages.
  6. When logging into remote machines, an off-the-shelf vim installation is almost guaranteed.
  7. Even if neovim is installed to a remote machine, it usually fails to load my configuration, given the rapidly changing upstream and plugins requiring always the bleeding edge.
  8. I learned #vimscript in 1998 before I had even heard about #lua, and it is more comfortable programming environment for me :-) Before 1998 I was using #qedit in MS-DOS.
  9. For local IPC with neovim, a Python package neovim-remote is required. Vim has full local IPC workflow builtin.
#lua#plugin#plugins

Я сегодня потратил весь день на переписывание моего конфига для #Nvim (#NeoVim) с #VimScript на #Lua.

https://codeberg.org/RaZZlom/dotfiles/src/branch/master/config/nvim

В свзи с этим заменил все плагины на новые, добавил
#TreeSitter и #LSP сервер.

Можете смело сказать где сделано круто, а где я всё испортил.

Codeberg.orgdotfilesdotfiles
Replied in thread

@Brahn @xgranade @Canageek I recommend #neovim because it's a drop-in replacement and allows for way more customization without having to learn esotheric #VimScript but allowing one to use #Lua...

So it doesn't take away stuff for #vim users but adds options down the line...
youtube.com/watch?v=c4OyfL5o7D

Kinda like how every AR-15 & AR-18 nowadays has a flat-top upper and maybe some flip-up iron sights instead of that carry-handle + gas block stuff...

Switching between #GStreamer logs, pipeline dot graphs and Wireshark packet capture, SSRC values for RTP can be in decimal or hexadecimal. Quickly wrote some #vimscript (I know, I know, I can write Lua too) to scratch this itch of converting quickly when required.

https://git.sanchayanmaity.net/sanchayanmaity/dotfiles/src/branch/master/nvim/.config/nvim/plugin/shell.vim#L34

Sanchayan Maity's repositoriesdotfiles/nvim/.config/nvim/plugin/shell.vim at masterdotfiles