Abandon all AI software!!
This commit is contained in:
@@ -1,40 +0,0 @@
|
||||
[font]
|
||||
size = 12
|
||||
offset = { x = 0, y = 6 }
|
||||
normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
|
||||
|
||||
[window]
|
||||
padding.x = 10
|
||||
padding.y = 10
|
||||
|
||||
[cursor]
|
||||
style.shape = "Beam"
|
||||
style.blinking = "Always"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Themes
|
||||
# -------------------------------------------------------------------
|
||||
# noctalia theme works on system color scheme
|
||||
# import = ["~/.config/alacritty/themes/noctalia.toml"]
|
||||
# -------------------------------------------------------------------
|
||||
# Vscode dark to match neovim theme
|
||||
[colors.primary]
|
||||
background = '#121212'
|
||||
foreground = '#e8e8e8'
|
||||
|
||||
[colors.cursor]
|
||||
text = "#1F1F1F"
|
||||
cursor = "#D4D4D4"
|
||||
|
||||
[colors.normal]
|
||||
black = "#1F1F1F"
|
||||
red = "#F44747"
|
||||
green = "#6A9955"
|
||||
yellow = "#DCDCAA"
|
||||
blue = "#569CD6"
|
||||
magenta = "#C586C0"
|
||||
cyan = "#56B6C2"
|
||||
white = "#D4D4D4"
|
||||
|
||||
[colors.bright]
|
||||
black = "#808080"
|
||||
@@ -1,68 +0,0 @@
|
||||
[colors.primary]
|
||||
background = '#121212'
|
||||
foreground = '#e8e8e8'
|
||||
|
||||
[colors.cursor]
|
||||
text = '#121212'
|
||||
cursor = '#e8e8e8'
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
text = '#121212'
|
||||
cursor = '#a9afbd'
|
||||
|
||||
[colors.search.matches]
|
||||
foreground = '#161616'
|
||||
background = '#8b909c'
|
||||
|
||||
[colors.search.focused_match]
|
||||
foreground = '#161616'
|
||||
background = '#a9afbd'
|
||||
|
||||
[colors.footer_bar]
|
||||
foreground = '#161616'
|
||||
background = '#e8e3e3'
|
||||
|
||||
[colors.hints.start]
|
||||
foreground = '#161616'
|
||||
background = '#7d8390'
|
||||
|
||||
[colors.hints.end]
|
||||
foreground = '#161616'
|
||||
background = '#7d8390'
|
||||
|
||||
[colors.selection]
|
||||
text = '#e8e8e8'
|
||||
background = '#2a2a2a'
|
||||
|
||||
|
||||
[colors.normal]
|
||||
black = '#161616'
|
||||
red = '#c77b7b'
|
||||
green = '#9cb89c'
|
||||
yellow = '#c7b98b'
|
||||
blue = '#8b95a9'
|
||||
magenta = '#a99bb0'
|
||||
cyan = '#8fadb0'
|
||||
white = '#b0b0b0'
|
||||
|
||||
|
||||
[colors.bright]
|
||||
black = '#3a3a3a'
|
||||
red = '#d89a9a'
|
||||
green = '#b0ccaf'
|
||||
yellow = '#d8cba0'
|
||||
blue = '#a9afbd'
|
||||
magenta = '#beb0c4'
|
||||
cyan = '#a9c4c7'
|
||||
white = '#f0f0f0'
|
||||
|
||||
|
||||
[colors.dim]
|
||||
black = '#161616'
|
||||
red = '#c77b7b'
|
||||
green = '#9cb89c'
|
||||
yellow = '#c7b98b'
|
||||
blue = '#8b95a9'
|
||||
magenta = '#a99bb0'
|
||||
cyan = '#8fadb0'
|
||||
white = '#b0b0b0'
|
||||
+6
-5
@@ -11,9 +11,9 @@ export GOOGLE_DEFAULT_CLIENT_ID="no"
|
||||
export GOOGLE_DEFAULT_CLIENT_SECRET="no"
|
||||
|
||||
# Core settings
|
||||
export EDITOR="nvim"
|
||||
export VISUAL="nvim"
|
||||
export MANPAGER="nvim +Man!"
|
||||
export EDITOR="evi"
|
||||
export VISUAL="evi"
|
||||
export MANPAGER="evi +Man!"
|
||||
export BROWSER="firefox"
|
||||
export COLORTERM="truecolor"
|
||||
|
||||
@@ -117,14 +117,15 @@ alias free='free -h'
|
||||
alias bat='bat --theme="ansi" --paging=never'
|
||||
|
||||
# Application shortcuts
|
||||
alias vi='nvim'
|
||||
alias :q='exit'
|
||||
alias files='thunar .'
|
||||
alias fetch='pfetch'
|
||||
|
||||
# Custom shortcuts
|
||||
alias v='evi'
|
||||
alias vi='evi'
|
||||
alias reload='source ~/.bashrc'
|
||||
alias dots='cd ~/.dotfiles && nvim'
|
||||
alias dots='cd ~/.dotfiles && evi'
|
||||
alias doti='bash ~/.dotfiles/install.sh -i'
|
||||
alias dotl='bash ~/.dotfiles/install.sh -l'
|
||||
alias myip='curl ipinfo.io/ip; echo ""'
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
let g:netrw_dirhistmax =10
|
||||
let g:netrw_dirhistcnt =1
|
||||
let g:netrw_dirhist_1='/home/jason/Projects/dotfiles'
|
||||
let g:netrw_dirhist_0='/home/jason/Projects/GraveKeeper/src'
|
||||
let g:netrw_dirhist_9='/home/jason/Projects/GraveKeeper'
|
||||
let g:netrw_dirhist_8='/home/jason/.config/kitty/kitty.conf'
|
||||
let g:netrw_dirhist_7='/home/jason/.evi'
|
||||
let g:netrw_dirhist_6='/home/jason/Projects/GraveKeeper'
|
||||
let g:netrw_dirhist_5='/home/jason/.evi'
|
||||
let g:netrw_dirhist_4='/home/jason/.evi/pack'
|
||||
let g:netrw_dirhist_3='/home/jason/.evi'
|
||||
let g:netrw_dirhist_2='/home/jason/.evi/autoload'
|
||||
@@ -0,0 +1,202 @@
|
||||
" ============================================================================
|
||||
" EVi Configuration
|
||||
" ============================================================================
|
||||
" General
|
||||
" ----------------------------------------------------------------------------
|
||||
set nocompatible
|
||||
set encoding=utf-8
|
||||
set hidden
|
||||
set history=1000
|
||||
set clipboard=unnamedplus
|
||||
set splitright
|
||||
set splitbelow
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" UI
|
||||
" ----------------------------------------------------------------------------
|
||||
set number
|
||||
set relativenumber
|
||||
set wildmenu
|
||||
set showcmd
|
||||
colorscheme jellybeans
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Transparent UI
|
||||
" ----------------------------------------------------------------------------
|
||||
augroup VimTransparent
|
||||
autocmd!
|
||||
autocmd ColorScheme * highlight Normal ctermbg=NONE guibg=NONE
|
||||
\ | highlight NonText ctermbg=NONE guibg=NONE
|
||||
\ | highlight LineNr ctermbg=NONE guibg=NONE
|
||||
\ | highlight SignColumn ctermbg=NONE guibg=NONE
|
||||
\ | highlight EndOfBuffer ctermbg=NONE guibg=NONE
|
||||
augroup END
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Status Line
|
||||
" ----------------------------------------------------------------------------
|
||||
set laststatus=2
|
||||
highlight EviStatus cterm=NONE ctermfg=White ctermbg=236
|
||||
set statusline=%#EviStatus#%f\ %m%r\ %=%{&filetype}\ \ %l:%c\ %p%%
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Editing
|
||||
" ----------------------------------------------------------------------------
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
set smartindent
|
||||
set nowrap
|
||||
set incsearch
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set completeopt=menu,menuone,noselect
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" File Types
|
||||
" ----------------------------------------------------------------------------
|
||||
syntax on
|
||||
filetype plugin indent on
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" fzf
|
||||
" ----------------------------------------------------------------------------
|
||||
if executable('rg')
|
||||
let $FZF_DEFAULT_COMMAND =
|
||||
\ 'rg --files --hidden --follow --glob "!.git/*"'
|
||||
endif
|
||||
|
||||
nnoremap <C-p> :Files<CR>
|
||||
nnoremap <C-o> :Buffers<CR>
|
||||
nnoremap <C-s> :Rg<CR>
|
||||
nnoremap <C-b> :Build<CR>
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Search
|
||||
" ----------------------------------------------------------------------------
|
||||
nnoremap <Esc><Esc> :nohlsearch<CR>
|
||||
nnoremap n nzzzv
|
||||
nnoremap N Nzzzv
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Window Navigation
|
||||
" ----------------------------------------------------------------------------
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-j> <C-w>j
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-l> <C-w>l
|
||||
nnoremap <C-x> <C-w>q
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" LSP - OLS
|
||||
" ----------------------------------------------------------------------------
|
||||
packadd lsp
|
||||
call LspOptionsSet(#{
|
||||
\ autoComplete: v:false,
|
||||
\ autoHighlight: v:false,
|
||||
\ autoHighlightDiags: v:true,
|
||||
\ autoPopulateDiags: v:true,
|
||||
\ semanticHighlight: v:false,
|
||||
\ showSignature: v:false,
|
||||
\ completionInPreview: v:false,
|
||||
\ condensedCompletionMenu: v:true,
|
||||
\ })
|
||||
|
||||
if executable('ols')
|
||||
call LspAddServer([#{
|
||||
\ name: 'ols',
|
||||
\ filetype: ['odin'],
|
||||
\ path: 'ols',
|
||||
\ args: ['--stdio'],
|
||||
\ features: #{
|
||||
\ diagnostic: v:false,
|
||||
\ completion: v:true,
|
||||
\ hover: v:true,
|
||||
\ signatureHelp: v:false,
|
||||
\ documentHighlight: v:true,
|
||||
\ semanticHighlight: v:true,
|
||||
\ },
|
||||
\ }])
|
||||
endif
|
||||
|
||||
command! Action LspCodeAction
|
||||
command! Rename LspRename
|
||||
|
||||
autocmd FileType odin setlocal omnifunc=LspOmniFunc
|
||||
inoremap <C-@> <C-X><C-O>
|
||||
nnoremap K :LspHover<CR>
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Go to Definition
|
||||
" ----------------------------------------------------------------------------
|
||||
function! GotoDefinitionSplit() abort
|
||||
vsplit
|
||||
LspGotoDefinition
|
||||
endfunction
|
||||
|
||||
nnoremap gd :call GotoDefinitionSplit()<CR>
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Diagnostics
|
||||
" ----------------------------------------------------------------------------
|
||||
function! ToggleDiagnostics() abort
|
||||
for l:win in getwininfo()
|
||||
if get(l:win, 'quickfix', 0)
|
||||
execute l:win.winnr .. 'close'
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
LspDiag show
|
||||
endfunction
|
||||
|
||||
command! Diagnostics call ToggleDiagnostics()
|
||||
nnoremap <C-i> :Diagnostics<CR>
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Netrw / File Tree
|
||||
" ----------------------------------------------------------------------------
|
||||
let g:netrw_banner = 0
|
||||
let g:netrw_liststyle = 3
|
||||
let g:netrw_browse_split = 0
|
||||
let g:netrw_altv = 1
|
||||
let g:netrw_winsize = 33
|
||||
let g:netrw_keepdir = 0
|
||||
nnoremap <C-e> :Lexplore<CR>
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" Build System
|
||||
" ----------------------------------------------------------------------------
|
||||
function! Build(...) abort
|
||||
" Already in the build terminal → close it.
|
||||
if get(b:, 'build_terminal', 0) && &buftype ==# 'terminal'
|
||||
close
|
||||
echo ''
|
||||
return
|
||||
endif
|
||||
|
||||
if !filereadable('build.sh')
|
||||
echohl WarningMsg
|
||||
echo 'No build.sh found in current directory.'
|
||||
echohl None
|
||||
return
|
||||
endif
|
||||
|
||||
wall
|
||||
|
||||
let l:command = './build.sh'
|
||||
|
||||
if a:0 > 0
|
||||
let l:command .= ' ' .. join(a:000, ' ')
|
||||
endif
|
||||
|
||||
botright vsplit
|
||||
execute 'vertical resize ' .. float2nr(&columns * 0.37)
|
||||
execute 'terminal ++curwin ' .. l:command
|
||||
|
||||
let b:build_terminal = 1
|
||||
tnoremap <buffer> <CR> <Nop>
|
||||
endfunction
|
||||
|
||||
command! -nargs=* Build call Build(<f-args>)
|
||||
Submodule
+1
Submodule config/evi/pack/downloads/opt/lsp added at 6ab67121fa
Submodule
+1
Submodule config/evi/pack/plugins/start/fzf added at ca4c1b80e3
Submodule
+1
Submodule config/evi/pack/plugins/start/fzf.vim added at d2a59a992a
Submodule
+1
Submodule config/evi/pack/plugins/start/jellybeans added at ef83bf4dc8
+1
Submodule config/evi/pack/plugins/start/vim-polyglot added at f061eddb7c
@@ -0,0 +1,56 @@
|
||||
# ============================================================================
|
||||
# Kitty Configuration
|
||||
# ============================================================================
|
||||
enable_audio_bell no
|
||||
term xterm-256color
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Font
|
||||
# ----------------------------------------------------------------------------
|
||||
font_family JetBrainsMono Nerd Font
|
||||
font_size 12.0
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Window
|
||||
# ----------------------------------------------------------------------------
|
||||
window_padding_width 10
|
||||
window_padding_height 10
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Cursor
|
||||
# ----------------------------------------------------------------------------
|
||||
cursor_shape beam
|
||||
cursor_blink_interval 0.5
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Layout
|
||||
# ----------------------------------------------------------------------------
|
||||
enabled_layouts splits
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Splits
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Vertical split
|
||||
map ctrl+v launch --location=vsplit --cwd=current
|
||||
|
||||
# Close current kitty split
|
||||
map ctrl+q close_window
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Colors
|
||||
# ----------------------------------------------------------------------------
|
||||
foreground #e8e8e8
|
||||
background #121212
|
||||
cursor #D4D4D4
|
||||
cursor_text_color #1F1F1F
|
||||
color0 #1F1F1F
|
||||
color1 #F44747
|
||||
color2 #6A9955
|
||||
color3 #DCDCAA
|
||||
color4 #569CD6
|
||||
color5 #C586C0
|
||||
color6 #56B6C2
|
||||
color7 #D4D4D4
|
||||
color8 #808080
|
||||
@@ -1,92 +0,0 @@
|
||||
require("vim._core.ui2").enable({})
|
||||
map = vim.keymap.set
|
||||
vim.o.termguicolors = true
|
||||
vim.o.showmode = true
|
||||
vim.o.laststatus = 3
|
||||
vim.o.nu = true
|
||||
vim.o.swapfile = false
|
||||
vim.o.winborder = "single"
|
||||
vim.o.scrolloff = 20
|
||||
vim.o.shiftwidth = 4
|
||||
vim.o.tabstop = 4
|
||||
vim.o.softtabstop = 4
|
||||
vim.o.ignorecase = true
|
||||
vim.o.smartcase = true
|
||||
vim.o.incsearch = true
|
||||
vim.o.hlsearch = true
|
||||
vim.o.mouse = "a"
|
||||
vim.o.path = "**"
|
||||
vim.o.clipboard = "unnamedplus"
|
||||
vim.o.splitright = true
|
||||
vim.o.splitbelow = true
|
||||
vim.o.signcolumn = "yes"
|
||||
vim.o.completeopt = "menu,menuone,noselect,popup,fuzzy"
|
||||
vim.o.autoread = true
|
||||
vim.o.undofile = true
|
||||
vim.o.undodir = vim.fn.stdpath("state") .. "/undo"
|
||||
vim.o.errorformat = "%f(%l:%c) %m,%-G%.%#"
|
||||
-- -----------------------------
|
||||
-- @BINDS
|
||||
map("t", "<ESC><ESC>", "<C-\\><C-n>")
|
||||
map({"t", "n"}, "<C-h>", "<C-\\><C-n><C-w><C-h>")
|
||||
map({"t", "n"}, "<C-j>", "<C-\\><C-n><C-w><C-j>")
|
||||
map({"t", "n"}, "<C-k>", "<C-\\><C-n><C-w><C-k>")
|
||||
map({"t", "n"}, "<C-l>", "<C-\\><C-n><C-w><C-l>")
|
||||
map({"i", "n"}, "<C- >", "<C-x><C-o>")
|
||||
map("n", '<Esc>', '<Cmd>noh<CR><Esc>')
|
||||
map("v", "J", ":m '>+1<CR>gv=gv")
|
||||
map("v", "K", ":m '<-2<CR>gv=gv")
|
||||
map("v", "<S-Tab>", "<gv")
|
||||
map("v", "<Tab>" , ">gv")
|
||||
-- -----------------------------
|
||||
-- @PLUGINS
|
||||
require("plugins")
|
||||
-- -----------------------------
|
||||
-- @EXTRAS
|
||||
require("extra/lsp")
|
||||
require("extra/terminal")
|
||||
require("extra/build")
|
||||
-- -----------------------------
|
||||
-- @AUTOCMDS
|
||||
-- Terminals should open with insert mode
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "TermEnter", "WinEnter" }, {
|
||||
pattern = "term://*",
|
||||
callback = function()
|
||||
if vim.bo.buftype == "terminal" then
|
||||
vim.schedule(function()
|
||||
vim.cmd("startinsert")
|
||||
end)
|
||||
end
|
||||
end
|
||||
})
|
||||
-- highlights yanked text
|
||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
callback = function()
|
||||
vim.highlight.on_yank({
|
||||
higroup = "IncSearch",
|
||||
timeout = 200,
|
||||
})
|
||||
end,
|
||||
})
|
||||
-- removes trailing whitespace on save
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
callback = function()
|
||||
local save_cursor = vim.fn.getpos(".")
|
||||
vim.cmd([[%s/\s\+$//e]])
|
||||
vim.fn.setpos(".", save_cursor)
|
||||
end,
|
||||
})
|
||||
-- Restore cursor to file position in previous editing session
|
||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||
callback = function(args)
|
||||
local mark = vim.api.nvim_buf_get_mark(args.buf, '"')
|
||||
local line_count = vim.api.nvim_buf_line_count(args.buf)
|
||||
if mark[1] > 0 and mark[1] <= line_count then
|
||||
vim.api.nvim_win_set_cursor(0, mark)
|
||||
-- defer centering slightly so it's applied after render
|
||||
vim.schedule(function()
|
||||
vim.cmd("normal! zz")
|
||||
end)
|
||||
end
|
||||
end,
|
||||
})
|
||||
@@ -1,29 +0,0 @@
|
||||
-- ------------------------------------------------------------
|
||||
-- BUILD SYSTEM
|
||||
local function build(args)
|
||||
if vim.fn.filereadable("build.sh") == 0 then
|
||||
vim.notify("No build.sh found in current directory.", vim.log.levels.WARN)
|
||||
return
|
||||
end
|
||||
|
||||
vim.cmd("wall")
|
||||
|
||||
local command = "./build.sh"
|
||||
|
||||
if #args > 0 then
|
||||
command = command .. " " .. table.concat(args, " ")
|
||||
end
|
||||
|
||||
send("clear && " .. command)
|
||||
end
|
||||
|
||||
vim.api.nvim_create_user_command(
|
||||
"Build",
|
||||
function(opts) build(opts.fargs) end,
|
||||
{
|
||||
nargs = "*",
|
||||
desc = "Run project build.sh",
|
||||
}
|
||||
)
|
||||
map("n", "<C-Space>", function() build({}) end, { desc = "Build project", })
|
||||
map("t", "<C-Space>", function() build({}) end, { desc = "Build project", })
|
||||
@@ -1,11 +0,0 @@
|
||||
-- ------------------------------------------------------------
|
||||
-- LSP
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
vim.lsp.config("gopls", { capabilities = capabilities, })
|
||||
vim.lsp.config("ols", { capabilities = capabilities, })
|
||||
vim.lsp.enable({ "gopls", "ols", })
|
||||
map("n", "gd", vim.lsp.buf.definition)
|
||||
map("i", "<C-h>", vim.lsp.buf.signature_help)
|
||||
|
||||
vim.api.nvim_create_user_command("Rename", function() vim.lsp.buf.rename() end, {})
|
||||
vim.api.nvim_create_user_command("Actions", function() vim.lsp.buf.code_action() end, {})
|
||||
@@ -1,89 +0,0 @@
|
||||
-- ------------------------------------------------------------
|
||||
-- TERMINAL SYSTEM
|
||||
local term_buf = nil
|
||||
|
||||
local function open_term_split()
|
||||
vim.cmd("botright vsplit")
|
||||
|
||||
local win = vim.api.nvim_get_current_win()
|
||||
|
||||
if term_buf and vim.api.nvim_buf_is_valid(term_buf) then
|
||||
vim.api.nvim_win_set_buf(win, term_buf)
|
||||
else
|
||||
vim.cmd("terminal")
|
||||
term_buf = vim.api.nvim_get_current_buf()
|
||||
end
|
||||
|
||||
vim.api.nvim_win_set_width(win, math.floor(vim.o.columns * 0.37))
|
||||
vim.cmd("startinsert")
|
||||
end
|
||||
|
||||
local function toggle_term()
|
||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||
if vim.api.nvim_win_get_buf(win) == term_buf then
|
||||
vim.api.nvim_win_close(win, false)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
open_term_split()
|
||||
end
|
||||
|
||||
local function open_term_fullscreen()
|
||||
if term_buf and vim.api.nvim_buf_is_valid(term_buf) then
|
||||
vim.api.nvim_set_current_buf(term_buf)
|
||||
else
|
||||
vim.cmd("terminal")
|
||||
term_buf = vim.api.nvim_get_current_buf()
|
||||
end
|
||||
|
||||
vim.cmd("startinsert")
|
||||
end
|
||||
|
||||
local function prev_non_term_buf()
|
||||
local current = vim.api.nvim_get_current_buf()
|
||||
local buffers = vim.fn.getbufinfo({ buflisted = 1 })
|
||||
local candidates = {}
|
||||
|
||||
for _, buffer in ipairs(buffers) do
|
||||
if buffer.bufnr ~= current and vim.bo[buffer.bufnr].buftype ~= "terminal" then
|
||||
table.insert(candidates, buffer)
|
||||
end
|
||||
end
|
||||
|
||||
if #candidates == 0 then
|
||||
print("No previous non-terminal buffer")
|
||||
return
|
||||
end
|
||||
|
||||
table.sort(candidates, function(a, b)
|
||||
return a.lastused > b.lastused
|
||||
end)
|
||||
|
||||
vim.api.nvim_set_current_buf(candidates[1].bufnr)
|
||||
end
|
||||
|
||||
function send(command)
|
||||
local terminal_visible = false
|
||||
|
||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||
if term_buf and vim.api.nvim_win_get_buf(win) == term_buf then
|
||||
terminal_visible = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if not terminal_visible then
|
||||
open_term_split()
|
||||
end
|
||||
|
||||
local job = vim.b[term_buf].terminal_job_id
|
||||
|
||||
if job then
|
||||
vim.api.nvim_chan_send(job, command .. "\n")
|
||||
end
|
||||
end
|
||||
map("n", "<C-j>", toggle_term, { desc = "Toggle terminal split", })
|
||||
map("n", "<C-o>", open_term_fullscreen, { desc = "Open terminal fullscreen", })
|
||||
map("t", "<C-j>", toggle_term, { desc = "Toggle terminal split", })
|
||||
map("t", "<C-o>", prev_non_term_buf, { desc = "Return to previous buffer", })
|
||||
@@ -1,102 +0,0 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/ibhagwan/fzf-lua' },
|
||||
{ src = "https://github.com/saghen/blink.lib" },
|
||||
{ src = "https://github.com/Saghen/blink.cmp" },
|
||||
{ src = 'https://github.com/neovim/nvim-lspconfig' },
|
||||
{ src = 'https://github.com/romus204/tree-sitter-manager.nvim' },
|
||||
{ src = 'https://github.com/lukas-reineke/indent-blankline.nvim' },
|
||||
{ src = 'hIdentlinesttps://github.com/xiyaowong/transparent.nvim' },
|
||||
{ src = 'https://github.com/stevearc/oil.nvim' },
|
||||
{ src = 'https://github.com/Mofiqul/vscode.nvim.git' },
|
||||
})
|
||||
|
||||
-- Colorscheme
|
||||
vim.cmd [[colorscheme vscode]]
|
||||
|
||||
-- Treesitter
|
||||
require("tree-sitter-manager").setup()
|
||||
|
||||
-- Identlines
|
||||
require("ibl").setup({
|
||||
indent = {
|
||||
char = "│",
|
||||
},
|
||||
scope = {
|
||||
show_start = false,
|
||||
show_end = false,
|
||||
},
|
||||
})
|
||||
|
||||
-- File explorer
|
||||
require("oil").setup({
|
||||
default_file_explorer = true,
|
||||
columns = { "icon" },
|
||||
view_options = {
|
||||
show_hidden = true,
|
||||
},
|
||||
keymaps = {
|
||||
["<CR>"] = "actions.select",
|
||||
["l"] = "actions.select",
|
||||
["h"] = "actions.parent",
|
||||
["q"] = "actions.close",
|
||||
},
|
||||
})
|
||||
map("n", "<C-e>", "<Cmd>Oil<CR>")
|
||||
|
||||
-- Fuzzy Finders
|
||||
require("fzf-lua").setup({})
|
||||
map("n", "<C-p>", "<Cmd>FzfLua files<CR>")
|
||||
map("n", "<C-m>", "<Cmd>FzfLua buffers<CR>")
|
||||
map("n", "<C-i>", "<Cmd>FzfLua diagnostics_workspace<CR>")
|
||||
map("n", "<C-f>", "<Cmd>FzfLua live_grep<CR>")
|
||||
map("n", "<C-b>", "<Cmd>FzfLua grep_curbuf<CR>")
|
||||
|
||||
-- autocomplete
|
||||
require("blink.cmp").setup({
|
||||
keymap = {
|
||||
["<Tab>"] = {
|
||||
"select_next",
|
||||
"fallback",
|
||||
},
|
||||
["<S-Tab>"] = {
|
||||
"select_prev",
|
||||
"fallback",
|
||||
},
|
||||
["<C-n>"] = {
|
||||
"select_next",
|
||||
"fallback",
|
||||
},
|
||||
["<C-p>"] = {
|
||||
"select_prev",
|
||||
"fallback",
|
||||
},
|
||||
["<CR>"] = {
|
||||
"accept",
|
||||
"fallback",
|
||||
},
|
||||
["<C-Space>"] = {
|
||||
"show",
|
||||
"show_documentation",
|
||||
"hide_documentation",
|
||||
},
|
||||
["<Esc>"] = {
|
||||
"hide",
|
||||
"fallback",
|
||||
},
|
||||
},
|
||||
appearance = { nerd_font_variant = "normal", },
|
||||
completion = {
|
||||
menu = { border = "single", },
|
||||
documentation = {
|
||||
auto_show = true,
|
||||
auto_show_delay_ms = 200,
|
||||
window = { border = "single" },
|
||||
},
|
||||
ghost_text = { enabled = false },
|
||||
},
|
||||
signature = { enabled = false },
|
||||
sources = {
|
||||
default = { "lsp", "path", "buffer" },
|
||||
},
|
||||
fuzzy = { implementation = "lua" },
|
||||
})
|
||||
Reference in New Issue
Block a user