Compare commits

...

2 Commits

Author SHA1 Message Date
afbe9737b7 blink experiment 2024-12-14 07:55:36 -06:00
22e5f66830 tabstop 2024-12-14 06:17:08 -06:00
14 changed files with 380 additions and 333 deletions

View File

@ -1,3 +1,3 @@
set tabstop=10
set softtabstop=10
set shiftwidth=10
set tabstop=2
set softtabstop=2
set shiftwidth=2

View File

@ -67,7 +67,7 @@ function M.setup(capabilities)
end
lspconfig.ciderlsp.setup({
capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
capabilities = capabilities,
on_attach = cider_on_attach,
handlers = cider_lsp_handlers,
})

View File

@ -0,0 +1,118 @@
local use_google = require("utils").use_google
local flags = require("utils").flags
return {
{
"saghen/blink.compat",
-- use the latest release, via version = '*', if you also use the latest release for blink.cmp
version = "*",
-- lazy.nvim will automatically load the plugin when it's required by blink.cmp
lazy = true,
-- make sure to set opts so that lazy.nvim calls blink.compat's setup
opts = {},
cond = flags.blink,
},
{
"saghen/blink.cmp",
lazy = false, -- lazy loading handled internally
cond = flags.blink,
dependencies = {
"Exafunction/codeium.nvim",
"mikavilpas/blink-ripgrep.nvim",
"hrsh7th/cmp-cmdline",
-- "FelipeLema/cmp-async-path",
"chrisgrieser/cmp-nerdfont",
"hrsh7th/cmp-emoji",
"rafamadriz/friendly-snippets", -- optional: provides snippets for the snippet source
},
version = "v0.*", -- use a release tag to download pre-built binaries
-- build = 'cargo build --release',
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
keymap = {
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
["<C-e>"] = { "hide", "fallback" },
["<CR>"] = { "accept", "fallback" },
["<Tab>"] = { "snippet_forward", "fallback" },
["<S-Tab>"] = { "snippet_backward", "fallback" },
["<Up>"] = { "select_prev", "fallback" },
["<Down>"] = { "select_next", "fallback" },
["<S-Up>"] = { "scroll_documentation_up", "fallback" },
["<S-Down>"] = { "scroll_documentation_down", "fallback" },
},
sources = {
providers = function()
local providerToEnable = {
"lsp",
"path",
"crates",
"snippets",
"buffer",
"ripgrep",
"emoji",
"nerdfont",
}
print("sources")
if use_google() then
table.insert(providerToEnable, "nvim_ciderlsp")
table.insert(providerToEnable, "buganizer")
else
table.insert(providerToEnable, "codeium")
end
return providerToEnable
end,
},
providers = {
-- dont show LuaLS require statements when lazydev has items
lsp = { fallback_for = { "lazydev" } },
lazydev = { name = "LazyDev", module = "lazydev.integrations.blink" },
ripgrep = {
module = "blink-ripgrep",
name = "Ripgrep",
-- the options below are optional, some default values are shown
---@module "blink-ripgrep"
---@type blink-ripgrep.Options
opts = {
prefix_min_len = 3,
context_size = 5,
max_filesize = "1M",
additional_rg_options = {},
},
},
nvim_ciderlsp = {
name = "nvim_ciderlsp",
module = "blink.compat.source",
},
buganizer = {
name = "nvim_buganizer",
module = "blink.compat.source",
},
codeium = {
name = "codeium",
module = "blink.compat.source",
},
},
-- experimental signature help support
signature = { enabled = true },
completion = {
trigger = {
show_on_x_blocked_trigger_characters = { "'", '"', "(", "{" },
},
menu = {
draw = {
-- columns = { { "label", "label_description", gap = 1 }, { "kind_icon", "kind" } },
},
},
},
},
-- allows extending the providers array elsewhere in your config
-- without having to redefine it
opts_extend = { "sources.default" },
},
}

View File

@ -1,22 +1,11 @@
local use_google = require("utils").use_google
local function compare_by_ciderlsp_score(entry1, entry2)
if entry1.completion_item.score ~= nil and entry2.completion_item.score ~= nil then
print("LSP score " .. entry1.completion_item.score)
print("LSP score " .. entry2.completion_item.score)
return entry1.completion_item.score > entry2.completion_item.score
end
end
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local flags = require("utils").flags
return {
{
"hrsh7th/nvim-cmp",
event = { "InsertEnter", "CmdlineEnter" },
cond = not flags.blink,
dependencies = {
"Exafunction/codeium.nvim",
"FelipeLema/cmp-async-path",

View File

@ -42,6 +42,6 @@ return {
},
})
end,
keys = { { "<C-Space>", ":Dashboard<CR>" } },
-- keys = { { "<C-Space>", ":Dashboard<CR>" } },
dependencies = { { "nvim-tree/nvim-web-devicons" } },
}

View File

@ -0,0 +1,11 @@
return {
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- See the configuration section for more details
-- Load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
},
},
}

View File

@ -1,4 +1,5 @@
local use_google = require("utils").use_google
local flags = require("utils").flags
return {
{
@ -66,8 +67,9 @@ return {
},
-- cond = not use_google(),
config = function()
local capabilities =
require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
local capabilities = flags.blink
and require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
or require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
capabilities.offsetEncoding = { "utf-16" }
require("go").setup({
lsp_cfg = { capabilities = capabilities },
@ -87,7 +89,6 @@ return {
group = format_sync_grp,
})
end,
event = { "CmdlineEnter" },
ft = { "go", "gomod" },
build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries
},
@ -118,11 +119,9 @@ return {
local lsp_status = require("lsp-status")
lsp_status.register_progress()
vim.opt.spell = true
vim.opt.spelllang = { "en_us" }
local capabilities =
require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
local capabilities = flags.blink
and require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
or require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
capabilities = vim.tbl_extend("keep", capabilities or {}, lsp_status.capabilities)
capabilities.offsetEncoding = { "utf-16" }

View File

@ -23,7 +23,6 @@ return {
TableConcat(lsps, {
"pyright",
"omnisharp_mono",
"tsserver",
"docker_compose_language_service",
"dockerls",
"graphql",

View File

@ -1,8 +0,0 @@
return {
"folke/neodev.nvim",
config = function()
require("neodev").setup({
library = { plugins = { "nvim-dap-ui" }, types = true },
})
end,
}

View File

@ -1,23 +0,0 @@
return {
"smartpde/neoscopes",
config = function()
require("neoscopes").setup({
scopes = {
{
name = "earlycheckin",
dirs = {
"java/com/google/android/gmscore/tools/earlycheckin/",
"javatests/com/google/android/gmscore/tools/earlycheckin/",
},
},
{ name = "experimental", dirs = { "experimental/users/cnieves" } },
},
-- add_dirs_to_all_scopes = {
-- "~/dotfiles",
-- },
})
local scopes = require("neoscopes")
scopes.add_startup_scope()
end,
}

View File

@ -1,18 +1,4 @@
return {
-- {
-- "dstein64/nvim-scrollview",
-- config = function()
-- require("scrollview").setup({
-- excluded_filetypes = { "nerdtree" },
-- current_only = true,
-- -- base = "buffer",
-- -- column = 80,
-- signs_on_startup = { "all" },
-- diagnostics_severities = { vim.diagnostic.severity.ERROR },
-- })
-- end,
-- },
{
"petertriho/nvim-scrollbar",
config = function()
@ -30,22 +16,4 @@ return {
end,
lazy = false,
},
-- {
-- "kevinhwang91/nvim-hlslens",
-- config = function()
-- require("hlslens").setup({
-- nearest_only = true,
-- build_position_cb = function(plist, _, _, _)
-- require("scrollbar.handlers.search").handler.show(plist.start_pos)
-- end,
-- })
--
-- vim.cmd([[
-- augroup scrollbar_search_hide
-- autocmd!
-- autocmd CmdlineLeave : lua require('scrollbar.handlers.search').handler.hide()
-- augroup END
-- ]])
-- end,
-- },
}

View File

@ -1,14 +1,12 @@
local use_google = require("utils").use_google
local exec = require("utils").exec
local TableConcat = require("utils").TableConcat
local scopes = require("neoscopes")
_G.find_files = function(search_dirs)
require("telescope.builtin").find_files({ search_dirs = search_dirs, })
require("telescope.builtin").find_files({ search_dirs = search_dirs })
end
-- Helper functions to fetch the current scope and set `search_dirs`
_G.find_dotfiles = function()
end
_G.find_dotfiles = function() end
_G.search_cwd = function()
local builtin = require("telescope.builtin")
@ -23,7 +21,7 @@ _G.live_grep = function(search_dirs)
end
_G.live_grep_cword = function(search_dirs)
require("telescope.builtin").live_grep({ search_dirs = search_dirs, })
require("telescope.builtin").live_grep({ search_dirs = search_dirs })
end
local function exe(cmd)

View File

@ -1,5 +1,8 @@
local M = {
use_google_cache = nil,
flags = {
blink = false,
},
}
function M.exec(command, args)

View File

@ -8,13 +8,7 @@ set undofile
set nobackup
set formatoptions+=j
set nowritebackup
au BufWritePre * let &bex = '@' . strftime("%F.%H:%M")
set termguicolors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
let &t_AB="\e[48;5;%dm"
let &t_AF="\e[38;5;%dm"
set laststatus=2
set cmdheight=1
@ -43,8 +37,11 @@ set hlsearch " highlight matches
set splitright " Puts new vsplit windows to the right of the current
set splitbelow " Puts new split windows to the bottom of the current
" When set to a negative number from -1 to -100 this is used as the
" percentage of the window height. Thus -50 scrolls half the window
" height.
set scrolljump=5 " Line to scroll when cursor leaves screen
set scrolloff=3 " Minimum lines to keep above and below cursor
" set scrolloff=3 " Minimum lines to keep above and below cursor
set shortmess=A " disable swapg
set shortmess+=O
@ -52,19 +49,10 @@ set modifiable
set noscrollbind
set expandtab
source ~/.vim/prefs/mappings.vim
source ~/.vim/prefs/leader.vim
set encoding=utf-8
set t_Co=256
let base16colorspace=256
set colorcolumn=100
if (has("termguicolors"))
set termguicolors
endif
set background=dark
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
@ -96,3 +84,8 @@ let g:loaded_remote_plugins = 1
filetype plugin indent on
syntax on
source ~/.vim/prefs/mappings.vim
source ~/.vim/prefs/leader.vim
source ~/.vim/prefs/mappings.vim
source ~/.vim/prefs/leader.vim