From 3b02baf92673a4448dc258d2dff58d0c3e9cd040 Mon Sep 17 00:00:00 2001 From: Michael Chris Lopez Date: Sat, 6 Nov 2021 11:37:55 +0800 Subject: [PATCH] add vim runner --- lua/zenbones/shipwright/runners/vim.lua | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lua/zenbones/shipwright/runners/vim.lua diff --git a/lua/zenbones/shipwright/runners/vim.lua b/lua/zenbones/shipwright/runners/vim.lua new file mode 100644 index 0000000..f2b788a --- /dev/null +++ b/lua/zenbones/shipwright/runners/vim.lua @@ -0,0 +1,57 @@ +local template = [[function! $name#load() + +$termcolors +$vimcolors +highlight! link StatusLineTerm StatusLine +highlight! link StatusLineTermNC StatusLineNC + +if has('terminal') + let g:terminal_ansi_colors = [ + \ g:terminal_color_0, + \ g:terminal_color_1, + \ g:terminal_color_2, + \ g:terminal_color_3, + \ g:terminal_color_4, + \ g:terminal_color_5, + \ g:terminal_color_6, + \ g:terminal_color_7, + \ g:terminal_color_8, + \ g:terminal_color_9, + \ g:terminal_color_10, + \ g:terminal_color_11, + \ g:terminal_color_12, + \ g:terminal_color_13, + \ g:terminal_color_14, + \ g:terminal_color_15 + \ ] +endif + +endfunction +]] + +local helpers = require "shipwright.transform.helpers" + +local function to_vim_autoload(vimcolors) + local termcolors = "" + for i, v in ipairs(term) do + termcolors = termcolors .. string.format("let g:terminal_color_%s = '%s'\n", (i - 1), v.hex) + end + + local text = helpers.apply_template(template, { + name = name, + termcolors = termcolors, + vimcolors = table.concat(vimcolors, "\n"), + }) + return { text } +end + +local lushwright = require "shipwright.transform.lush" + +run( + specs, + lushwright.to_vimscript, + lushwright.vim_compatible_vimscript, + to_vim_autoload, + { prepend, [[" This file is auto-generated by shipwright.nvim]] }, + { overwrite, string.format("autoload/%s.vim", name) } +)