Initial commit.
This commit is contained in:
commit
914f9ea767
5
.luarc.json
Normal file
5
.luarc.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"diagnostics.globals": [
|
||||||
|
"vim"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
init.lua
Normal file
16
init.lua
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
require("dan.core")
|
||||||
|
-- Lazy VIM --
|
||||||
|
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", -- latest stable release
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
require("lazy").setup("plugins")
|
||||||
|
|
||||||
23
lazy-lock.json
Normal file
23
lazy-lock.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" },
|
||||||
|
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||||
|
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" },
|
||||||
|
"harpoon": { "branch": "harpoon2", "commit": "a38be6e0dd4c6db66997deab71fc4453ace97f9c" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
|
||||||
|
"lazygit.nvim": { "branch": "main", "commit": "10a5f30536dc2d4abe36d410d83149272ea457fa" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" },
|
||||||
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3941c57ec85d7bdb44fa53fd858fd80f159018f" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "b81333d12f824dbed5eb231c8a4409a290fdd848" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "c932a56bf25167b1e88d2a1ebe35bb774b41019a" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "6e2b56cbe75ddf18e6efecee44bc3936d70b0b3e" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "4adea17610d140a99c313e3f79a9dc01825d59ae" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
|
||||||
|
"rose-pine": { "branch": "main", "commit": "f977eeba34b030b37f93ece2fbd792477606203b" },
|
||||||
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }
|
||||||
|
}
|
||||||
15
lua/dan/core.lua
Normal file
15
lua/dan/core.lua
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
||||||
|
vim.keymap.set("n", "<leader>gg", vim.cmd.LazyGit)
|
||||||
|
vim.cmd("set expandtab")
|
||||||
|
vim.cmd("set tabstop=2")
|
||||||
|
vim.cmd("set softtabstop=2")
|
||||||
|
vim.cmd("set shiftwidth=2")
|
||||||
|
vim.cmd("set syntax=on")
|
||||||
|
vim.cmd("set number")
|
||||||
|
vim.cmd("set nu")
|
||||||
|
vim.cmd("set relativenumber")
|
||||||
|
vim.cmd("set rnu")
|
||||||
|
vim.cmd("set number relativenumber")
|
||||||
|
vim.cmd("set nu rnu")
|
||||||
|
vim.api.nvim_set_option("clipboard","unnamed")
|
||||||
2
lua/plugins.lua
Normal file
2
lua/plugins.lua
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
return {
|
||||||
|
}
|
||||||
76
lua/plugins/alpha.lua
Normal file
76
lua/plugins/alpha.lua
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
return {
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
event = "VimEnter", -- load plugin after all configuration is set
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function()
|
||||||
|
local alpha = require("alpha")
|
||||||
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
|
|
||||||
|
dashboard.section.header.val = {
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ████ ██████ █████ ██ ]],
|
||||||
|
[[ ███████████ █████ ]],
|
||||||
|
[[ █████████ ███████████████████ ███ ███████████ ]],
|
||||||
|
[[ █████████ ███ █████████████ █████ ██████████████ ]],
|
||||||
|
[[ █████████ ██████████ █████████ █████ █████ ████ █████ ]],
|
||||||
|
[[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]],
|
||||||
|
[[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[ ]],
|
||||||
|
}
|
||||||
|
|
||||||
|
_Gopts = {
|
||||||
|
position = "center",
|
||||||
|
hl = "Type",
|
||||||
|
-- wrap = "overflow";
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Set menu
|
||||||
|
dashboard.section.buttons.val = {
|
||||||
|
-- dashboard.button("SPC j", " Restore Session", ":SessionRestore<cr>"),
|
||||||
|
dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
|
||||||
|
dashboard.button("f", " Find file", ":cd $HOME/dotfiles/.config | Telescope find_files<CR>"),
|
||||||
|
dashboard.button("g", " Find word", ":Telescope live_grep<CR>"),
|
||||||
|
dashboard.button("r", " Recent", ":Telescope oldfiles<CR>"),
|
||||||
|
dashboard.button("c", " Config", ":e $MYVIMRC <CR>"),
|
||||||
|
dashboard.button("m", " Mason", ":Mason<CR>"),
|
||||||
|
dashboard.button("l", " Lazy", ":Lazy<CR>"),
|
||||||
|
dashboard.button("u", " Update plugins", "<cmd>lua require('lazy').sync()<CR>"),
|
||||||
|
dashboard.button("q", " Quit NVIM", ":qa<CR>"),
|
||||||
|
}
|
||||||
|
|
||||||
|
--local function footer()
|
||||||
|
--return "Mohammed Babiker Babai"
|
||||||
|
--end
|
||||||
|
|
||||||
|
--dashboard.section.footer.val = footer()
|
||||||
|
|
||||||
|
dashboard.opts.opts.noautocmd = true
|
||||||
|
alpha.setup(dashboard.opts)
|
||||||
|
|
||||||
|
require("alpha").setup(dashboard.opts)
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("User", {
|
||||||
|
pattern = "LazyVimStarted",
|
||||||
|
callback = function()
|
||||||
|
local stats = require("lazy").stats()
|
||||||
|
local count = (math.floor(stats.startuptime * 100) / 100)
|
||||||
|
dashboard.section.footer.val = {
|
||||||
|
" " .. stats.count .. " plugins loaded in " .. count .. " ms"
|
||||||
|
}
|
||||||
|
pcall(vim.cmd.AlphaRedraw)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
44
lua/plugins/completions.lua
Normal file
44
lua/plugins/completions.lua
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
dependencies = {
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
"rafamadriz/friendly-snippets"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
config = function()
|
||||||
|
local cmp = require("cmp")
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
-- { name = 'nvim_lsp' },
|
||||||
|
-- { name = 'vsnip' }, -- For vsnip users.
|
||||||
|
{ name = 'luasnip' }, -- For luasnip users.
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
}
|
||||||
38
lua/plugins/harpoon.lua
Normal file
38
lua/plugins/harpoon.lua
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
return {
|
||||||
|
"ThePrimeagen/harpoon",
|
||||||
|
branch = "harpoon2",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local harpoon = require("harpoon")
|
||||||
|
-- REQUIRED
|
||||||
|
harpoon:setup()
|
||||||
|
-- REQUIRED
|
||||||
|
-- basic telescope configuration
|
||||||
|
local conf = require("telescope.config").values
|
||||||
|
local function toggle_telescope(harpoon_files)
|
||||||
|
local file_paths = {}
|
||||||
|
for _, item in ipairs(harpoon_files.items) do
|
||||||
|
table.insert(file_paths, item.value)
|
||||||
|
end
|
||||||
|
|
||||||
|
require("telescope.pickers").new({}, {
|
||||||
|
prompt_title = "Harpoon",
|
||||||
|
finder = require("telescope.finders").new_table({
|
||||||
|
results = file_paths,
|
||||||
|
}),
|
||||||
|
previewer = conf.file_previewer({}),
|
||||||
|
sorter = conf.generic_sorter({}),
|
||||||
|
}):find()
|
||||||
|
end
|
||||||
|
vim.keymap.set("n", "<C-h>", function() toggle_telescope(harpoon:list()) end, { desc = "Open harpoon window" })
|
||||||
|
vim.keymap.set("n", "<leader>a", function() harpoon:list():append() end)
|
||||||
|
vim.keymap.set("n", "<leader>c", function() harpoon:list():clear() end)
|
||||||
|
vim.keymap.set("n", "<leader>r", function() harpoon:list():remove() end)
|
||||||
|
-- vim.keymap.set("n", "<C-h>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
||||||
|
-- Toggle previous & next buffers stored within Harpoon list
|
||||||
|
-- vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
|
||||||
|
-- vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
|
||||||
|
end
|
||||||
|
}
|
||||||
6
lua/plugins/lazygit.lua
Normal file
6
lua/plugins/lazygit.lua
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
return {
|
||||||
|
"kdheepak/lazygit.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
}
|
||||||
|
}
|
||||||
33
lua/plugins/lsp-config.lua
Normal file
33
lua/plugins/lsp-config.lua
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
config = function()
|
||||||
|
require("mason").setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
config = function()
|
||||||
|
require("mason-lspconfig").setup({
|
||||||
|
ensure_installed = { "lua_ls", "phpactor" }
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
config = function()
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
lspconfig.lua_ls.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.phpactor.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
vim.keymap.set("n", 'K', vim.lsp.buf.hover, {})
|
||||||
|
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {})
|
||||||
|
vim.keymap.set({ 'n' }, '<leader>ca', vim.lsp.buf.code_action, {})
|
||||||
|
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
13
lua/plugins/lualine.lua
Normal file
13
lua/plugins/lualine.lua
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
return {
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-tree/nvim-web-devicons'
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require('lualine'). setup({
|
||||||
|
options= {
|
||||||
|
theme = 'dracula'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
12
lua/plugins/neotree.lua
Normal file
12
lua/plugins/neotree.lua
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
return {
|
||||||
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
branch = "v3.x",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.keymap.set("n", "<C-n>", ':Neotree filesystem reveal left<CR>', {})
|
||||||
|
end
|
||||||
|
}
|
||||||
73
lua/plugins/rose-pine.lua
Normal file
73
lua/plugins/rose-pine.lua
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
return {
|
||||||
|
'rose-pine/neovim',
|
||||||
|
name = 'rose-pine',
|
||||||
|
config = function()
|
||||||
|
require("rose-pine").setup({
|
||||||
|
variant = "moon", -- auto, main, moon, or dawn
|
||||||
|
dark_variant = "main", -- main, moon, or dawn
|
||||||
|
dim_inactive_windows = false,
|
||||||
|
extend_background_behind_borders = true,
|
||||||
|
|
||||||
|
enable = {
|
||||||
|
terminal = true,
|
||||||
|
legacy_highlights = true, -- Improve compatibility for previous versions of Neovim
|
||||||
|
migrations = true, -- Handle deprecated options automatically
|
||||||
|
},
|
||||||
|
|
||||||
|
styles = {
|
||||||
|
bold = false,
|
||||||
|
italic = false,
|
||||||
|
transparency = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
groups = {
|
||||||
|
border = "muted",
|
||||||
|
link = "iris",
|
||||||
|
panel = "surface",
|
||||||
|
|
||||||
|
error = "love",
|
||||||
|
hint = "iris",
|
||||||
|
info = "foam",
|
||||||
|
note = "pine",
|
||||||
|
todo = "rose",
|
||||||
|
warn = "gold",
|
||||||
|
|
||||||
|
git_add = "foam",
|
||||||
|
git_change = "rose",
|
||||||
|
git_delete = "love",
|
||||||
|
git_dirty = "rose",
|
||||||
|
git_ignore = "muted",
|
||||||
|
git_merge = "iris",
|
||||||
|
git_rename = "pine",
|
||||||
|
git_stage = "iris",
|
||||||
|
git_text = "rose",
|
||||||
|
git_untracked = "subtle",
|
||||||
|
|
||||||
|
h1 = "iris",
|
||||||
|
h2 = "foam",
|
||||||
|
h3 = "rose",
|
||||||
|
h4 = "gold",
|
||||||
|
h5 = "pine",
|
||||||
|
h6 = "foam",
|
||||||
|
},
|
||||||
|
|
||||||
|
highlight_groups = {
|
||||||
|
-- Comment = { fg = "foam" },
|
||||||
|
-- VertSplit = { fg = "muted", bg = "muted" },
|
||||||
|
},
|
||||||
|
|
||||||
|
before_highlight = function(group, highlight, palette)
|
||||||
|
-- Disable all undercurls
|
||||||
|
-- if highlight.undercurl then
|
||||||
|
-- highlight.undercurl = false
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- Change palette colour -- if highlight.fg == palette.pine then
|
||||||
|
-- highlight.fg = palette.foam
|
||||||
|
-- end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.cmd("colorscheme rose-pine")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
33
lua/plugins/telescope.lua
Normal file
33
lua/plugins/telescope.lua
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
tag = '0.1.5',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim'
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||||
|
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||||
|
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope-ui-select.nvim",
|
||||||
|
config = function()
|
||||||
|
-- This is your opts table
|
||||||
|
require("telescope").setup {
|
||||||
|
extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-- To get ui-select loaded and working with telescope, you need to call
|
||||||
|
-- load_extension, somewhere after setup function:
|
||||||
|
require("telescope").load_extension("ui-select")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
14
lua/plugins/treesitter.lua
Normal file
14
lua/plugins/treesitter.lua
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
build = ":TSUpdate",
|
||||||
|
config = function()
|
||||||
|
local configs = require("nvim-treesitter.configs")
|
||||||
|
configs.setup({
|
||||||
|
ensure_installed = { "php", "lua", "vim", "javascript", "html", "yaml" },
|
||||||
|
sync_install = false,
|
||||||
|
highlight = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user