vim.g.loaded_netrw = 1
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
require 'nvim-settings'
require 'lazy-plugins'
require 'idris2-confs'
require 'cmp-confs'
require("mason").setup()
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
require("nvim-tree").setup()
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lsps = { "clangd", "lua_ls", "nixd", "pylyzer", "verible", "veryl_ls" }
for _,lsp in pairs(lsps) do
if lsp == "lua_ls" then
require('lspconfig')[lsp].setup {
on_init = function(client)
if client.workspace_folders then
local path = client.workspace_folders[1].name
if path ~= vim.fn.stdpath('config') and (vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc')) then
return
end
end
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
runtime = {
version = 'LuaJIT'
},
workspace = {
checkThirdParty = false,
library = {
vim.env.VIMRUNTIME
}
}
})
end,
settings = {
Lua = {}
},
capabilities = capabilities
}
else
require('lspconfig')[lsp].setup {
capabilities = capabilities
}
end
end
if vim.g.neovide then
require 'neovide'
end