diff options
author | Squibid <me@zacharyscheiman.com> | 2025-05-06 16:51:24 -0500 |
---|---|---|
committer | Squibid <me@zacharyscheiman.com> | 2025-05-06 16:51:24 -0500 |
commit | 7c3289fded1f75f6e060f56bd06edc2a327744d9 (patch) | |
tree | bf579e6eb1de84237a74ef13ce67703c15266afe /lua/conf/opts.lua | |
parent | 3094bf2a3983b375f4adeccd25c3b12bbbded2aa (diff) | |
download | nvim-7c3289fded1f75f6e060f56bd06edc2a327744d9.tar.gz nvim-7c3289fded1f75f6e060f56bd06edc2a327744d9.tar.bz2 nvim-7c3289fded1f75f6e060f56bd06edc2a327744d9.zip |
kitchen sink again :(
Diffstat (limited to 'lua/conf/opts.lua')
-rw-r--r-- | lua/conf/opts.lua | 74 |
1 files changed, 49 insertions, 25 deletions
diff --git a/lua/conf/opts.lua b/lua/conf/opts.lua index 5d8a24f..e412389 100644 --- a/lua/conf/opts.lua +++ b/lua/conf/opts.lua @@ -1,4 +1,4 @@ -local misc = require('core.misc') +local misc = require("core.misc") local auto = misc.auto -- color stuff @@ -17,6 +17,7 @@ vim.opt.scrolloff = 5 vim.opt.wrap = true -- wraping lines vim.opt.linebreak = true -- fix where line is wraped vim.opt.cursorline = true +vim.opt.colorcolumn = { 80 } -- indents + tabs local tabwidth = 2 @@ -31,7 +32,7 @@ vim.opt.softtabstop = tabwidth -- Schedule the setting after `UiEnter` because it can increase startup-time. -- (yoinked from kickstart.nvim) vim.schedule(function() - vim.opt.clipboard = 'unnamedplus' -- system clipboard + vim.opt.clipboard = "unnamedplus" -- system clipboard end) vim.opt.updatetime = 200 @@ -49,12 +50,12 @@ vim.opt.showmatch = true vim.opt.incsearch = true -- wild menus -vim.opt.wildoptions = 'pum' +vim.opt.wildoptions = "pum" vim.opt.pumblend = 3 vim.opt.pumheight = 20 vim.opt.wildignorecase = true -vim.opt.wildignore = '*.o' +vim.opt.wildignore = "*.o" -- netrw vim.g.netrw_banner = 0 @@ -63,26 +64,31 @@ vim.g.netrw_liststyle = 1 vim.g.netrw_sizestyle = "H" vim.g.netrw_hide = 1 +-- border (this doesn"t actually do anything within vim, I"m just setting it +-- here so it"s easy to find) +vim.g.border_style = "solid" + -- folding auto("FileType", { callback = function() + -- FIXME: it causes errors every once in a while -- support lsp folding - if vim.fn.has("nvim-0.11") then - auto('LspAttach', { - callback = function(args) - local client = vim.lsp.get_client_by_id(args.data.client_id) - if not client then - return - end - - if client:supports_method('textDocument/foldingRange') then - local win = vim.api.nvim_get_current_win() - vim.wo[win][0].foldmethod = "expr" - vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()' - end - end, - }) - end + -- if vim.fn.has("nvim-0.11") then + -- auto("LspAttach", { + -- callback = function(args) + -- local client = vim.lsp.get_client_by_id(args.data.client_id) + -- if not client then + -- return + -- end + + -- if client:supports_method("textDocument/foldingRange") then + -- local win = vim.api.nvim_get_current_win() + -- vim.wo[win][0].foldmethod = "expr" + -- vim.wo[win][0].foldexpr = "v:lua.vim.lsp.foldexpr()" + -- end + -- end, + -- }) + -- end -- or just rely on treesitter if require("nvim-treesitter.parsers").has_parser() then @@ -96,7 +102,7 @@ auto("FileType", { -- lsp folding: vim.o.foldexpr = "v:lua.vim.lsp.foldexpr()" -- waiting on https://github.com/neovim/neovim/pull/31311 to hit a release -require('core.lsp.functions').add_capabilities({ +require("core.lsp.functions").add_capabilities({ textDocument = { foldingRange = { dynamicRegistration = false, @@ -108,13 +114,29 @@ require('core.lsp.functions').add_capabilities({ vim.opt.foldlevelstart = 99 vim.opt.foldlevel = 99 vim.opt.foldenable = true -vim.o.fillchars = 'fold: ' +vim.o.fillchars = "fold: " -_G.Fold_text = require('core.folding') -vim.opt.foldtext = 'v:lua.Fold_text()' +_G.Fold_text = require("core.folding") +vim.opt.foldtext = "v:lua.Fold_text()" -- statusline function _G.Status() + local function percentage() + local percent, line, lines + + line = vim.api.nvim_win_get_cursor(0)[1] + lines = vim.api.nvim_buf_line_count(0) + + percent = math.floor((line / lines) * 100) + if percent == 0 then + return "Top" + elseif percent == 100 then + return "Bot" + end + + return percent.."%%" + end + return table.concat { "%t", -- file name " %h", -- help buffer tag @@ -125,8 +147,10 @@ function _G.Status() -- print out the number of lsp clients attached "λ"..#vim.lsp.get_clients({ bufnr = 0 }).." ", + "%<", -- we can start truncating here (I want to keep the file name) "%l,%c%V", -- line, column-virtual column - " %P" -- percentage through display window + "%<", -- we can start truncating here + " "..percentage() -- percentage through the buffer } end vim.o.statusline="%!v:lua.Status()" |