my-nvim-setup/lua/options.lua
Akianonymus 6b507c3368 init: Asynchronously load filetype and syntax
lots of improvement for startup time

Co-authored-by: Vhyrro <vhyrro@gmail.com>
2021-07-19 07:20:22 +05:30

75 lines
1.7 KiB
Lua

local opt = vim.opt
local g = vim.g
-- Turn these off at startup, will be enabled later just before loading the theme
vim.cmd([[
syntax off
filetype off
filetype plugin indent off
]])
opt.ruler = false
opt.hidden = true
opt.ignorecase = true
opt.splitbelow = true
opt.splitright = true
opt.termguicolors = true
opt.cul = true
opt.mouse = "a"
opt.signcolumn = "yes"
opt.cmdheight = 1
opt.updatetime = 250 -- update interval for gitsigns
opt.timeoutlen = 400
opt.clipboard = "unnamedplus"
-- disable nvim intro
opt.shortmess:append("sI")
-- disable tilde on end of buffer: https://github.com/ neovim/neovim/pull/8546#issuecomment-643643758
vim.cmd("let &fcs='eob: '")
-- Numbers
opt.number = true
opt.numberwidth = 2
-- opt.relativenumber = true
-- Indenline
opt.expandtab = true
opt.shiftwidth = 2
opt.smartindent = true
-- go to previous/next line with h,l,left arrow and right arrow
-- when cursor reaches end/beginning of line
opt.whichwrap:append("<>hl")
g.mapleader = " "
g.auto_save = false
-- disable builtin vim plugins
g.loaded_gzip = 0
g.loaded_tar = 0
g.loaded_tarPlugin = 0
g.loaded_zipPlugin = 0
g.loaded_2html_plugin = 0
g.loaded_netrw = 0
g.loaded_netrwPlugin = 0
g.loaded_matchit = 0
g.loaded_matchparen = 0
g.loaded_spec = 0
local M = {}
function M.is_buffer_empty()
-- Check whether the current buffer is empty
return vim.fn.empty(vim.fn.expand("%:t")) == 1
end
function M.has_width_gt(cols)
-- Check if the windows width is greater than a given number of columns
return vim.fn.winwidth(0) / 2 > cols
end
-- file extension specific tabbing
-- vim.cmd([[autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4]])
return M