Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 21 additions & 18 deletions nvim/.config/nvim/lazy-lock.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@
{
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
"blink.cmp": { "branch": "main", "commit": "451168851e8e2466bc97ee3e026c3dcb9141ce07" },
"fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
"LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"fidget.nvim": { "branch": "main", "commit": "889e2e96edef4e144965571d46f7a77bcc4d0ddf" },
"fyler.nvim": { "branch": "stable", "commit": "bb8b9f30c652c948d35211958b0deec3496bcc08" },
"gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" },
"gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"mini.icons": { "branch": "main", "commit": "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e" },
"mini.nvim": { "branch": "main", "commit": "59f09943573c5348ca6c88393fa09ce3b66a7818" },
"neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" },
"neotest-vstest": { "branch": "main", "commit": "78de83604052c5ff6a6bddf579f4f646ee8254c7" },
"nvim": { "branch": "main", "commit": "a7788416689dbefea659d9e9415c87926b0ba5d8" },
"mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" },
"mini.icons": { "branch": "main", "commit": "bac6317300e205335df425296570d84322730067" },
"mini.nvim": { "branch": "main", "commit": "be81509b7160aa02264a59789164a2e1c4a6750a" },
"neotest": { "branch": "master", "commit": "fd0b7986dd0ae04e38ec7dc0c78a432e3820839c" },
"neotest-vstest": { "branch": "main", "commit": "8588c3c988c7ed49879dddf937b42681cfa7ce30" },
"nvim": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-dap": { "branch": "master", "commit": "a9d8cb68ee7184111dc66156c4a2ebabfbe01bc5" },
"nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" },
"nvim-dap-cs": { "branch": "main", "commit": "16e5debe8cb7fb73c8799d20969ee00883586602" },
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-lspconfig": { "branch": "master", "commit": "841c6d4139aedb8a3f2baf30cef5327371385b93" },
"nvim-dap-ui": { "branch": "master", "commit": "1a66cabaa4a4da0be107d5eda6d57242f0fe7e49" },
"nvim-lspconfig": { "branch": "master", "commit": "6419b36f50c42420cbbf1d3ffba573094cf414c8" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-treesitter": { "branch": "main", "commit": "0e0db770f2a3691fae478798342f4ac431accefd" },
"nvim-treesitter-context": { "branch": "master", "commit": "adf4b6b0420b7be6c717ef0ac7993183d6c201b1" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"roslyn.nvim": { "branch": "main", "commit": "ff43201090361b8936e008a006473b59ef2c0ca6" },
"telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-treesitter-context": { "branch": "master", "commit": "b0c45cefe2c8f7b55fc46f34e563bc428ef99636" },
"nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "506338434fec5ad19cb1f8d45bf92d66c4917393" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"undotree": { "branch": "master", "commit": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d" },
"vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" },
Expand Down
5 changes: 1 addition & 4 deletions nvim/.config/nvim/lua/config/lazy.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,5 @@ require("lazy").setup({
spec = {
{ import = "plugins" },
},
checker = {
notify = false,
enabled = true
},
checker = { enabled = false },
})
11 changes: 8 additions & 3 deletions nvim/.config/nvim/lua/dliaskos/remap.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
vim.keymap.set("n", "[q", vim.cmd.cprev, { desc = "Previous Quickfix" })
vim.keymap.set("n", "]q", vim.cmd.cnext, { desc = "Next Quickfix" })
vim.keymap.set("n", "[l", vim.cmd.cprev, { desc = "Previous Location" })
vim.keymap.set("n", "]l", vim.cmd.cnext, { desc = "Next Location" })

vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
Expand All @@ -9,7 +11,10 @@ vim.keymap.set('n', '<A-j>', '<C-w>j', { desc = 'Move to below split' })
vim.keymap.set('n', '<A-k>', '<C-w>k', { desc = 'Move to above split' })
vim.keymap.set('n', '<A-l>', '<C-w>l', { desc = 'Move to right split' })

-- Quick global marks: Alt to jump
for _, letter in ipairs({ 'u', 'i', 'o', 'p' }) do
local upper = string.upper(letter)
vim.keymap.set('n', '<A-' .. letter .. '>', '`' .. upper, { desc = 'Jump to mark ' .. upper })
end

vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]], { desc = 'Yank to clipboard' })
vim.keymap.set("n", "<leader>Y", [["+Y]], { desc = 'Yank line to clipboard' })
vim.keymap.set('n', "<leader>p", [["+p]], { desc = 'Paste from clipboard' })
3 changes: 3 additions & 0 deletions nvim/.config/nvim/lua/dliaskos/set.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1

vim.opt.nu = true
vim.opt.relativenumber = true

Expand Down
61 changes: 61 additions & 0 deletions nvim/.config/nvim/lua/github/pr_picker.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
local pickers = require("telescope.pickers")
local finders = require("telescope.finders")
local conf = require("telescope.config").values
local actions = require("telescope.actions")
local action_state = require("telescope.actions.state")

local function fetch_prs()
local result = vim.fn.system(
"gh pr list --json number,title,headRefName,baseRefName --limit 120 --search 'sort:created-desc'"
)
if vim.v.shell_error ~= 0 then
vim.notify("Failed to fetch PRs: " .. result, vim.log.levels.ERROR)
return nil
end
return vim.json.decode(result)
end

local function open_in_diffview(pr)
vim.fn.system({ "git", "fetch", "origin", pr.baseRefName, pr.headRefName })
vim.cmd("DiffviewOpen origin/" .. pr.baseRefName .. "...origin/" .. pr.headRefName)
end

local M = {}

function M.pick()
local prs = fetch_prs()
if not prs or #prs == 0 then
vim.notify("No open pull requests found", vim.log.levels.WARN)
return
end

pickers.new(require("telescope.themes").get_dropdown({
winblend = 20,
previewer = false,
}), {
prompt_title = "Pull Requests",
finder = finders.new_table({
results = prs,
entry_maker = function(pr)
local display = string.format("#%d %s", pr.number, pr.title)
return {
value = pr,
display = display,
ordinal = pr.title,
}
end,
}),
sorter = conf.generic_sorter({}),
attach_mappings = function(prompt_bufnr, _)
actions.select_default:replace(function()
actions.close(prompt_bufnr)
local selection = action_state.get_selected_entry()
if not selection then return end
open_in_diffview(selection.value)
end)
return true
end,
}):find()
end

return M
52 changes: 52 additions & 0 deletions nvim/.config/nvim/lua/plugins/diffview.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
local toggleDiffview = function(rev)
local df = require("diffview")
local lib = require("diffview.lib")
local view = lib.get_current_view()

if view then
df.close()
else
if rev then
df.open(rev)
else
df.open()
end
end
end

return {
"sindrets/diffview.nvim",

dependencies = {
"nvim-tree/nvim-web-devicons",
},
config = function()
local diffview = require("diffview")
vim.opt.fillchars:append({ diff = "╱" })

diffview.setup({
enhanced_diff_hl = true,
view = {
merge_tool = {
layout = "diff3_mixed",
},
},
})
end,
keys = {
{
"<leader>dfl",
desc = "Toggle Diffview for local changes",
function()
toggleDiffview()
end,
},
{
"<leader>dfr",
desc = "Toggle Diffview for remote changes",
function()
toggleDiffview("origin/current...HEAD")
end,
},
},
}
34 changes: 15 additions & 19 deletions nvim/.config/nvim/lua/plugins/lsp.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,10 @@ return {
-- NOTE: `opts = {}` is the same as calling `require('mason').setup({})`
{
'mason-org/mason.nvim',
opts = {
-- registries = {
-- "github:mason-org/mason-registry",
-- "github:Crashdummyy/mason-registry",
-- },
}
opts = { }
},

'WhoIsSethDaniel/mason-tool-installer.nvim',
"seblyng/roslyn.nvim",

-- Useful status updates for LSP.
{ 'j-hui/fidget.nvim', opts = {} },
Expand All @@ -39,8 +33,7 @@ return {
vim.keymap.set("n", "gi", function() vim.lsp.buf.implementation() end, opts)
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)

vim.keymap.set("n", "<leader>//", function() vim.lsp.buf.format() end, opts)
vim.keymap.set("v", "<leader>//", function() vim.lsp.buf.format() end, opts)
vim.keymap.set({ "n", "v" }, "<leader>f", function() vim.lsp.buf.format() end, opts)
vim.keymap.set("n", "<leader>ca", function() vim.lsp.buf.code_action() end, opts)
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
Expand All @@ -57,7 +50,7 @@ return {
-- For example, in C this would take you to the header.
-- map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
local client = vim.lsp.get_client_by_id(event.data.client_id)
if client and client:supports_method('textDocument/documentHighlight', event.buf) then
if client and client.name ~= 'roslyn_ls' and client:supports_method('textDocument/documentHighlight', event.buf) then
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
buffer = event.buf,
Expand Down Expand Up @@ -87,14 +80,23 @@ return {
local ensure_installed = vim.tbl_keys(servers or {})

vim.list_extend(ensure_installed, {
'roslyn',
-- 'csharp-language-server',
'lua-language-server',
'stylua',
'lua-language-server',
})

require('mason-tool-installer').setup { ensure_installed = ensure_installed }

-- dotnet tool -g install roslyn-language-server --prerelease
-- make sure dotnet tool folder is in path
servers['roslyn_ls'] = {
settings = {
['csharp|background_analysis'] = {
dotnet_analyzer_diagnostics_scope = 'openFiles',
dotnet_compiler_diagnostics_scope = 'openFiles',
},
},
}

for name, server in pairs(servers) do
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
vim.lsp.config(name, server)
Expand Down Expand Up @@ -126,11 +128,5 @@ return {
},
})
vim.lsp.enable 'lua_ls'
-- vim.lsp.enable 'csharp_ls'
require("roslyn").setup({
env = {
DOTNET_ROLL_FORWARD = "LatestMajor",
},
})
end,
}
91 changes: 80 additions & 11 deletions nvim/.config/nvim/lua/plugins/neotest.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,93 @@ return {
dependencies = {
"nvim-neotest/nvim-nio",
"nvim-lua/plenary.nvim",
"nsidorenco/neotest-vstest",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",

-- "Issafalcon/neotest-dotnet",
"nsidorenco/neotest-vstest",
},

keys = {
{
"<leader>tr",
function()
require("neotest").run.run()
end,
desc = "Run nearest test",
},
{
"<leader>tf",
function()
require("neotest").run.run(vim.fn.expand("%"))
end,
desc = "Run all tests in file",
},
{
"<leader>tp",
function()
require("neotest").output_panel.toggle()
end,
desc = "Toggle test output panel",
},
{
"<leader>td",
function()
require("neotest").run.run({ strategy = "dap" })
end,
desc = "Debug nearest test",
},
{
"<leader>td",
function()
require("neotest").summary.toggle()
end,
desc = "Toggle test summary",
},
},
config = function()
local neotest = require 'neotest'

neotest.setup({
require("neotest").setup({
log_level = vim.log.levels.DEBUG,
adapters = {
require("neotest-vstest"),
},
})

vim.keymap.set("n", "<leader>tr", function() require("neotest").run.run() end, opts)
vim.keymap.set("n", "<leader>tf", function() require("neotest").run.run(vim.fn.expand("%")) end, opts)
vim.keymap.set("n", "<leader>ts", function() require("neotest").summary.toggle() end, opts)
end,
}

-- return {
-- "nvim-neotest/neotest",
-- dependencies = {
-- "nvim-neotest/nvim-nio",
-- "nvim-lua/plenary.nvim",
-- "antoinemadec/FixCursorHold.nvim",
-- "nvim-treesitter/nvim-treesitter",
-- "nsidorenco/neotest-vstest",
-- },
-- config = function()
-- -- NOTE: This should be set before calling require("neotest-vstest")
-- vim.g.neotest_vstest = {
-- -- Path to dotnet sdk path.
-- -- Used in cases where the sdk path cannot be auto discovered.
-- --sdk_path = "/usr/local/dotnet/sdk/9.0.101/",
-- -- table is passed directly to DAP when debugging tests.
-- dap_settings = {
-- type = "netcoredbg",
-- },
-- -- If multiple solutions exists the adapter will ask you to choose one.
-- -- If you have a different heuristic for choosing a solution you can provide a function here.
-- solution_selector = function(solutions)
-- return nil -- return the solution you want to use or nil to let the adapter choose.
-- end,
-- -- If multiple .runsettings/testconfig.json files are present in the test project directory
-- -- you will be given the choice of file to use when setting up the adapter.
-- -- Or you can provide a function here
-- -- default nil to select from all files in project directory
-- settings_selector = function(project_dir)
-- return nil -- return the .runsettings/testconfig.json file you want to use or let the adapter choose
-- end,
-- build_opts = {
-- -- Arguments that will be added to all dotnet build and dotnet msbuild commands
-- additional_args = {},
-- },
-- timeout_ms = 30 * 5 * 1000, -- number of milliseconds to wait before timeout while communicating with adapter client
--
--
-- end,
Loading