From d5ccf9a00a7a91c2e33f465ea35e6cd9335c333e Mon Sep 17 00:00:00 2001 From: max397574 Date: Mon, 4 Oct 2021 20:23:45 +0200 Subject: =?UTF-8?q?feat(plugin):=20=E2=9C=A8first=20attempt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/startuptools.lua | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 lua/startuptools.lua (limited to 'lua/startuptools.lua') diff --git a/lua/startuptools.lua b/lua/startuptools.lua new file mode 100644 index 0000000..679d44e --- /dev/null +++ b/lua/startuptools.lua @@ -0,0 +1,52 @@ +local M = {} +local nb = vim.api.nvim_create_namespace('noiceboard') + +local settings = { + header = { + " ▄▄▄█████▓ ▄▄▄ ▄▄▄██▀▀▀ ", + " ▓ ██▒ ▓▒ ▒████▄ ▒██ ", + " ▒ ▓██░ ▒░ ▒██ ▀█▄ ░██ ", + " ░ ▓██▓ ░ ░██▄▄▄▄██ ▓██▄██▓ ", + " ▒██▒ ░ ▓█ ▓██▒ ▓███▒ ", + " ▒ ░░ ▒▒ ▓▒█░ ▒▓▒▒░ ", + " ░ ▒ ▒▒ ░ ▒ ░▒░ ", + " ░ ░ ▒ ░ ░ ░ ", + " ░ ░ ░ ░ ", + } +} + + +local function center(dict) + local centered = {} + for _, line in ipairs(dict) do + local space_left = vim.o.columns - string.len(line) + table.insert(centered, string.rep(" ", space_left) .. line) + space_left = 0 + end + return centered +end + +function M.print_header() + dump(center(settings.header)) +end + +local count = 1 +local function set_lines(len, text, hi, pass) + vim.api.nvim_buf_set_lines(0, count, count+len, false, center(text)) + vim.api.nvim_win_set_cursor(0, {count, 0}) + if pass then vim.g.section_length = count end + for i=count,count+len do + vim.api.nvim_buf_add_highlight(0, nb, hi, i, 1, -1) + end + count = count + len +end + +function M.set_header() + set_lines(#settings.header, settings.header, 'TSString') +end + +function M.setup() + vim.cmd("command! -bang -nargs=0 StartuptoolsHeader :lua require('startuptools').set_header()") +end + +return M -- cgit v1.2.3