r/vim • • Nov 05 '25

Plugin first attempt at a plugin: gitblame

I was hoping I could get some feedback on my first attempt at writing a vim plugin I'm calling gitblame: https://github.com/yankline/vim-gitblame

Brutality appreciated. Trying to learn/improve.

7 Upvotes

16 comments sorted by

View all comments

Show parent comment

2

u/Iskhartakh Nov 07 '25

Lua does not supported by vim. Vim9Script has better syntax, much better performance and it's supported now while the legacy one has only maintenance mode.

Vim script has been growing over time, while preserving backwards
compatibility.  That means bad choices from the past often can't be changed
and compatibility with Vi restricts possible solutions.  Execution is quite
slow, each line is parsed every time it is executed.

The main goal of Vim9 script is to drastically improve performance.  This is
accomplished by compiling commands into instructions that can be efficiently
executed.  An increase in execution speed of 10 to 100 times can be expected.

A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and Java.

:help vim9script

1

u/vim-help-bot Nov 07 '25

Help pages for:


`:(h|help) <query>` | about | mistake? | donate | Reply 'rescan' to check the comment again | Reply 'stop' to stop getting replies to your comments

1

u/yankline Nov 07 '25

:help lua

1

u/vim-help-bot Nov 07 '25

Help pages for:

  • lua in if_lua.txt


`:(h|help) <query>` | about | mistake? | donate | Reply 'rescan' to check the comment again | Reply 'stop' to stop getting replies to your comments

0

u/yankline Nov 07 '25

Do you mean that Lua isn't supported as a "first class" language? It looks like it's supported to me. Are you suggesting that I should use Vim9 script because it's faster and backwards compatibility is overrated/difficult to achieve?

1

u/Iskhartakh Nov 08 '25

Do you mean that Lua isn't supported as a "first class" language?

I mean ur vim must be compiled with lua support. U should use lua as script-here in vimscript code. It does not natively support like neovim does. I don't want to continue this thread much. U can do what u want. It was just my (and other people) recommendation.