aboutsummaryrefslogtreecommitdiff
path: root/init.lua
blob: d28cc30f8267593ce7dc3ef864ad8a2db4cc963e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
--[[init.]]
-- ========================================================================== --
-- ==                            DEPENDENCIES                              == --
-- ========================================================================== --

-- ripgrep    - https://github.com/BurntSushi/ripgrep
-- fd         - https://github.com/sharkdp/fd
-- git        - https://git-scm.com/
-- make       - https://www.gnu.org/software/make/
-- c compiler - gcc or tcc or zig

-- Initialize config with this one liner in the terminal
--nvim --headless -c 'call mkdir(stdpath("config"), "p") | exe "edit" stdpath("config") . "/init.lua" | write | quit'
--
--local impatient_ok, impatient = pcall(require, "impatient")
--if impatient_ok then
--	impatient.enable_profile()
--end
--local stdpath = vim.fn.stdpath
local api = vim.api
local utils = require("utils")

-- check if we have the latest stable version of nvim
local expected_ver = "0.8.0"
local nvim_ver = utils.get_nvim_version()

if nvim_ver ~= expected_ver then
	local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver)
	api.nvim_err_writeln(msg)
	return
end
-- schedule reading shadafile to improve the startup time
vim.opt.shadafile = "NONE"
vim.schedule(function()
	vim.opt.shadafile = ""
	vim.cmd("silent! rsh")
end)
-- IMPORTS
require("impatient")

require("utils")
require("keys") -- Keymaps
require("opts") -- Options
require("pack") -- Plugins
--require("mods") -- Modules/functions
--require("deps") -- Plugins
require("plugins.treesitter")
require("plugins.telescope")
require("plugins.nvim-tree")
--require("scripts")
require("plugins.cmp")
require("plugins.toggleterm")
--require("plugins.floatterm")
require("plugins.autopairs")
--require("plugins.vimspector")
--require("plugins.mason")
--require("plugins.dap")
require("plugins.colorizer")
require("plugins.prettier")
require("plugins.git")
require("plugins.gitsigns")
require("plugins.neoscroll")
require("plugins.lsp")
--require("plugins.lspconfig")
--require("plugins.lspsaga")
--require("plugins.lspkind")
require("plugins.null-ls")
require("plugins.web-devicons")
require("plugins.zen-mode")
require("plugins.colorscheme")
--require("plugins.lsp-colors")
--vim.opt.laststatus = 3

require("plugins.heirline")
--require("plugins.lualine")
--require("plugins.tabline")
--require("plugins.bufferline")
--require("plugins.airline")
--require("plugins.feline")
--require("plugins.winbar")

---- Hide statusline by setting laststatus and cmdheight to 0.
--vim.o.ls = 0
--vim.o.ch = 0
--
---- Set the winbar to the statusline.
--vim.o.wbr = vim.o.stl
--
---- With vertical splits, the statusline would still show up at the
---- bottom of the split. A quick fix is to just set the statusline
---- to empty whitespace (it can't be an empty string because then
---- it'll get replaced by the default stline).
--vim.o.stl = " "

--for builtin, status in pairs({
--	["2html_plugin"] = 1,
--	["getscript"] = 1,
--	["getscriptPlugin"] = 1,
--	["gzip"] = 1,
--	["logipat"] = 1,
--	["netrwPlugin"] = 1,
--	["tar"] = 1,
--	["tarPlugin"] = 1,
--	["rrhelper"] = 1,
--	["vimball"] = 1,
--	["vimballPlugin"] = 1,
--	["zip"] = 1,
--	["zipPlugin"] = 1,
--	["tutor_mode_plugin"] = 1,
--	["fzf"] = 1,
--	["spellfile_plugin"] = 1,
--	["sleuth"] = 1,
--}) do
--	vim.g["loaded_" .. builtin] = status
--end

--local core_conf_files = {
--  "globals.lua", -- some global settings
--  "options.vim", -- setting options in nvim
--  "autocommands.vim", -- various autocommands
--  "mappings.lua", -- all the user-defined mappings
--  "plugins.vim", -- all the plugins installed and their configurations
--  "colorschemes.lua", -- colorscheme settings
--}
--
---- source all the core config files
--for _, name in ipairs(core_conf_files) do
--  local path = string.format("%s/core/%s", vim.fn.stdpath("config"), name)
--  local source_cmd = "source " .. path
--  vim.cmd(source_cmd)
--end

local builtins = {
	"gzip",
	"zip",
	"zipPlugin",
	"tar",
	"tarPlugin",
	"getscript",
	"getscriptPlugin",
	"vimball",
	"vimballPlugin",
	"2html_plugin",
	--"matchit",
	--"matchparen",
	"logiPat",
	"rrhelper",
	"netrw",
	"netrwPlugin",
	"netrwSettings",
	"netrwFileHandlers",
}

for _, plugin in ipairs(builtins) do
	vim.g["loaded_" .. plugin] = 1
end
vim.g.do_filetype_nvim = 1
vim.g.did_load_filetypes = 0