Skip to content

Commit 0019dc2

Browse files
committed
initial commit
1 parent 8d1ef97 commit 0019dc2

30 files changed

+915
-970
lines changed

init.lua

Lines changed: 3 additions & 970 deletions
Large diffs are not rendered by default.

lua/jenia90/core/init.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
require 'jenia90.core.options'
2+
require 'jenia90.core.keymaps'

lua/jenia90/core/keymaps.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
vim.g.mapleader = ' '
2+
3+
local keymap = vim.keymap
4+
5+
keymap.set('n', '<leader>nh', ':nohl<CR>', { desc = 'Clear search highlights' })
6+
7+
keymap.set('n', '<leader>+', '<C-a>', { desc = 'Increment number' }) -- increment
8+
keymap.set('n', '<leader>-', '<C-x>', { desc = 'Decrement number' }) -- decrement
9+
10+
-- window management
11+
keymap.set('n', '<leader>wv', '<C-w>v', { desc = 'Split window vertically' }) -- split window vertically
12+
keymap.set('n', '<leader>wh', '<C-w>s', { desc = 'Split window horizontally' }) -- split window horizontally
13+
keymap.set('n', '<leader>we', '<C-w>=', { desc = 'Make splits equal size' }) -- make split windows equal width & height
14+
keymap.set('n', '<leader>wx', '<cmd>close<CR>', { desc = 'Close current split' }) -- close current split window
15+
16+
keymap.set('n', '<leader>to', '<cmd>tabnew<CR>', { desc = 'Open new tab' }) -- open new tab
17+
keymap.set('n', '<leader>tx', '<cmd>tabclose<CR>', { desc = 'Close current tab' }) -- close current tab
18+
keymap.set('n', '<leader>tn', '<cmd>tabn<CR>', { desc = 'Go to next tab' }) -- go to next tab
19+
keymap.set('n', '<leader>tp', '<cmd>tabp<CR>', { desc = 'Go to previous tab' }) -- go to previous tab
20+
keymap.set('n', '<leader>tf', '<cmd>tabnew %<CR>', { desc = 'Open current buffer in new tab' }) -- move current buffer to new tab
21+
keymap.set('n', '<leader>sf', ':w<CR>', { desc = 'Save current file' }) -- move current buffer to new tab
22+
keymap.set('n', '<leader>sa', ':wa<CR>', { desc = 'Save all file' }) -- move current buffer to new tab

lua/jenia90/core/options.lua

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
vim.g.netrw_liststyle = 3
2+
3+
local opt = vim.opt
4+
5+
opt.relativenumber = true
6+
opt.number = true
7+
8+
opt.tabstop = 4
9+
opt.shiftwidth = 4
10+
opt.expandtab = true
11+
opt.autoindent = true
12+
13+
opt.wrap = false
14+
15+
opt.ignorecase = true
16+
opt.smartcase = true
17+
18+
opt.cursorline = true
19+
20+
opt.termguicolors = true
21+
opt.background = 'dark'
22+
opt.signcolumn = 'yes'
23+
24+
opt.backspace = 'indent,eol,start'
25+
26+
opt.clipboard:append 'unnamedplus'
27+
28+
opt.splitright = true
29+
opt.splitbelow = true
30+
opt.swapfile = false

lua/jenia90/lazy.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
2+
if not vim.loop.fs_stat(lazypath) then
3+
vim.fn.system {
4+
'git',
5+
'clone',
6+
'--filter=blob:none',
7+
'https://github.com/folke/lazy.nvim.git',
8+
'--branch=stable', -- latest stable release
9+
lazypath,
10+
}
11+
end
12+
vim.opt.rtp:prepend(lazypath)
13+
14+
require('lazy').setup({{ import = 'jenia90.plugins'}, { import = 'jenia90.plugins.lsp' }}, {
15+
checker = {
16+
enabled = true,
17+
notify = false
18+
},
19+
change_detection = {
20+
notify = false,
21+
},
22+
})
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
return {
2+
"rmagatti/auto-session",
3+
config = function()
4+
local auto_session = require("auto-session")
5+
6+
auto_session.setup({
7+
auto_restore_enabled = false,
8+
})
9+
10+
local keymap = vim.keymap
11+
12+
keymap.set("n", "<leader>wr", "<cmd>SessionRestore<CR>", { desc = "Restore session for cwd" }) -- restore last workspace session for current directory
13+
keymap.set("n", "<leader>ws", "<cmd>SessionSave<CR>", { desc = "Save session for auto session root dir" }) -- save workspace session for current working directory
14+
end,
15+
}

lua/jenia90/plugins/autopairs.lua

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
return {
2+
"windwp/nvim-autopairs",
3+
event = { "InsertEnter" },
4+
dependencies = {
5+
"hrsh7th/nvim-cmp",
6+
},
7+
config = function()
8+
-- import nvim-autopairs
9+
local autopairs = require("nvim-autopairs")
10+
11+
-- configure autopairs
12+
autopairs.setup({
13+
check_ts = true, -- enable treesitter
14+
ts_config = {
15+
lua = { "string" }, -- don't add pairs in lua string treesitter nodes
16+
javascript = { "template_string" }, -- don't add pairs in javscript template_string treesitter nodes
17+
java = false, -- don't check treesitter on java
18+
},
19+
})
20+
21+
-- import nvim-autopairs completion functionality
22+
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
23+
24+
-- import nvim-cmp plugin (completions plugin)
25+
local cmp = require("cmp")
26+
27+
-- make autopairs and completion work together
28+
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
29+
end,
30+
}

lua/jenia90/plugins/bufferline.lua

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
return {
2+
"akinsho/bufferline.nvim",
3+
dependencies = { "nvim-tree/nvim-web-devicons" },
4+
version = "*",
5+
opts = {
6+
options = {
7+
mode = "tabs",
8+
separator_style = "slant",
9+
},
10+
},
11+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
return {
2+
{
3+
'folke/tokyonight.nvim',
4+
priority = 1000, -- make sure to load this before all the other start plugins
5+
config = function()
6+
local bg = '#011628'
7+
local bg_dark = '#011423'
8+
local bg_highlight = '#143652'
9+
local bg_search = '#0A64AC'
10+
local bg_visual = '#275378'
11+
local fg = '#CBE0F0'
12+
local fg_dark = '#B4D0E9'
13+
local fg_gutter = '#627E97'
14+
local border = '#547998'
15+
16+
require('tokyonight').setup {
17+
style = 'night',
18+
on_colors = function(colors)
19+
colors.bg = bg
20+
colors.bg_dark = bg_dark
21+
colors.bg_float = bg_dark
22+
colors.bg_highlight = bg_highlight
23+
colors.bg_popup = bg_dark
24+
colors.bg_search = bg_search
25+
colors.bg_sidebar = bg_dark
26+
colors.bg_statusline = bg_dark
27+
colors.bg_visual = bg_visual
28+
colors.border = border
29+
colors.fg = fg
30+
colors.fg_dark = fg_dark
31+
colors.fg_float = fg
32+
colors.fg_gutter = fg_gutter
33+
colors.fg_sidebar = fg_dark
34+
end,
35+
}
36+
-- load the colorscheme here
37+
vim.cmd [[colorscheme tokyonight]]
38+
end,
39+
},
40+
}

lua/jenia90/plugins/comment.lua

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
return {
2+
"numToStr/Comment.nvim",
3+
event = { "BufReadPre", "BufNewFile" },
4+
dependencies = {
5+
"JoosepAlviste/nvim-ts-context-commentstring",
6+
},
7+
config = function()
8+
-- import comment plugin safely
9+
local comment = require("Comment")
10+
11+
local ts_context_commentstring = require("ts_context_commentstring.integrations.comment_nvim")
12+
13+
-- enable comment
14+
comment.setup({
15+
-- for commenting tsx, jsx, svelte, html files
16+
pre_hook = ts_context_commentstring.create_pre_hook(),
17+
})
18+
end,
19+
}

0 commit comments

Comments
 (0)