neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 9788b81d7e53e7ad1ca9db249d86e43426ce56c2
parent 056009f74146b349c66790fbcba3130e85a6c6da
Author: Christian Clason <c.clason@uni-graz.at>
Date:   Sat,  5 Oct 2024 13:11:16 +0200

fix(runtime): fully port emoji_list to Lua

Problem: `runtime/tools/emoji_list.vim` is a Lua script masquerading as
Vimscript, which is unnecessary now that `:source` works for Lua files.

Solution: Remove Vimscript wrapper.

Diffstat:
Mruntime/doc/builtin.txt | 2+-
Mruntime/lua/vim/_meta/vimfn.lua | 2+-
Aruntime/tools/emoji_list.lua | 19+++++++++++++++++++
Druntime/tools/emoji_list.vim | 21---------------------
Msrc/nvim/eval.lua | 2+-
5 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt @@ -6627,7 +6627,7 @@ setcellwidths({list}) *setcellwidths()* To clear the overrides pass an empty {list}: >vim call setcellwidths([]) -< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see +< You can use the script $VIMRUNTIME/tools/emoji_list.lua to see the effect for known emoji characters. Move the cursor through the text to check if the cell widths of your terminal match with what Vim knows about each emoji. If it doesn't diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua @@ -7904,7 +7904,7 @@ function vim.fn.setbufvar(buf, varname, val) end --- To clear the overrides pass an empty {list}: >vim --- call setcellwidths([]) --- ---- <You can use the script $VIMRUNTIME/tools/emoji_list.vim to see +--- <You can use the script $VIMRUNTIME/tools/emoji_list.lua to see --- the effect for known emoji characters. Move the cursor --- through the text to check if the cell widths of your terminal --- match with what Vim knows about each emoji. If it doesn't diff --git a/runtime/tools/emoji_list.lua b/runtime/tools/emoji_list.lua @@ -0,0 +1,19 @@ +-- Script to fill the window with emoji characters, one per line. +-- Source this script: :source % + +if vim.bo.modified then + vim.cmd.new() +else + vim.cmd.enew() +end + +local lnum = 1 +for c = 0x100, 0x1ffff do + local cs = vim.fn.nr2char(c) + if vim.fn.charclass(cs) == 3 then + vim.fn.setline(lnum, string.format('|%s| %d', cs, vim.fn.strwidth(cs))) + lnum = lnum + 1 + end +end + +vim.bo.modified = false diff --git a/runtime/tools/emoji_list.vim b/runtime/tools/emoji_list.vim @@ -1,21 +0,0 @@ -" Script to fill the window with emoji characters, one per line. -" Source this script: :source % - -if &modified - new -else - enew -endif - -lua << EOF - local lnum = 1 - for c = 0x100, 0x1ffff do - local cs = vim.fn.nr2char(c) - if vim.fn.charclass(cs) == 3 then - vim.fn.setline(lnum, '|' .. cs .. '| ' .. vim.fn.strwidth(cs)) - lnum = lnum + 1 - end - end -EOF - -set nomodified diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua @@ -9464,7 +9464,7 @@ M.funcs = { To clear the overrides pass an empty {list}: >vim call setcellwidths([]) - <You can use the script $VIMRUNTIME/tools/emoji_list.vim to see + <You can use the script $VIMRUNTIME/tools/emoji_list.lua to see the effect for known emoji characters. Move the cursor through the text to check if the cell widths of your terminal match with what Vim knows about each emoji. If it doesn't