-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.lua
117 lines (98 loc) · 2.86 KB
/
init.lua
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
-- Lazy Plugin System --
require 'plugins'
-- Vim Global Options --
require 'globals'
-- Add Plugins to Lazy --
local lazy = require 'lazy'
lazy.setup({
require 'init.rust',
require 'init.splits',
require 'init.mason',
require 'init.tele',
require 'init.comment',
require 'init.line',
require 'init.term',
require 'init.noice',
require 'init.picker',
require 'init.which',
require 'init.tree',
require 'init.trees',
require 'init.scopes',
require 'init.notes',
require 'init.neoconf',
require 'init.theme',
require 'init.bufferline',
require 'init.pilot',
require 'init.promise',
require 'init.alphas',
require 'init.neodev',
require 'init.tabs',
require 'init.ufo',
require 'init.harpoon',
})
-- Pretty Folds --
require('ufo').setup({
provider_selector = function(bufnr, filetype, buftype)
return {'treesitter', 'indent'}
end
})
-- Neotree Setup --
-- local neotree = require 'neotree'
-- require 'neo-tree'.setup(neotree)
-- Setup Smart Splits --
require('smart-splits').setup()
-- Set Mappings after Telescope is loaded --
require 'mappings'
-- Lualine Bubbles --
require 'bubbles'
-- Tabscope Setup --
require 'tabscope'.setup()
-- Treesitter Syntax Highlighting --
require 'nvim-treesitter.configs'.setup({
auto_install = true,
sync_install = false,
ensure_installed = { "go", "rust", "yaml", "toml", "json", "make", "c", "lua", "vim", "vimdoc", "query" },
highlight = {
enable = true,
},
})
-- Dashboard Setup --
local dash = require 'dash'
require 'alpha'.setup(dash)
-- Set the colorscheme --
local theme = require 'themes.mocha'
vim.cmd.colorscheme('catppuccin')
local catppuccin = require 'catppuccin'
catppuccin.setup(theme)
-- Noice: Messages, cmdline, and popupmenu --
local noicecfg = require 'noicecfg'
require 'noice'.setup(noicecfg)
-- Scope Tabs with Telescope Setup --
require 'scope'.setup()
require 'telescope'.load_extension('scope')
require 'cfg.telescopec'.setup()
-- Floating Terminal Setup --
require 'toggleterm'.setup()
require("mason").setup()
-- Setup Quick Lazygit Keybinding --
local Terminal = require('toggleterm.terminal').Terminal
local lazygit = Terminal:new({ cmd = "lazygit", hidden = true })
function _lazygit_toggle()
lazygit:toggle()
end
vim.keymap.set("n", "<leader>g", "<cmd>lua _lazygit_toggle()<CR>", {noremap = true, silent = true})
-- Copilot Setup --
local pilotcfg = require 'pilotcfg'
require 'copilot'.setup(pilotcfg)
-- Harpoon Setup --
-- Harpoon is a bookmarking plugin that allows you to quickly navigate between files and projects.
require 'cfg.harpoonc'.setup()
-- Notes and Associated Keybindings --
local notes = require 'notes'
require 'global-note'.setup(notes)
vim.keymap.set("n", "<C-n>", require("global-note").toggle_note, {
desc = "Toggle global note",
})
vim.keymap.set("n", "<leader>n", require("global-note").toggle_note, {
desc = "Toggle global note",
})