This commit is contained in:
Christoph J. Scherr 2025-05-08 22:26:50 +02:00
commit 5e07d14aff
Signed by: PlexSheep
GPG key ID: 9EB784BB202BB7BB
7 changed files with 172 additions and 146 deletions

View file

@ -172,9 +172,6 @@ end, {
desc = 'Enable autoformat', desc = 'Enable autoformat',
bang = true, bang = true,
}) })
vim.api.nvim_create_user_command('TypstPinMain', function()
vim.lsp.buf.execute_command { command = 'tinymist.pinMain', arguments = { vim.api.nvim_buf_get_name(0) } }
end, { nargs = 0 })
-- autocommands -- autocommands
-- === -- ===

View file

@ -98,9 +98,6 @@ vim.api.nvim_create_autocmd('FileType', {
'typst', 'typst',
}, },
callback = function() callback = function()
-- pin the main file print "Don't forget to pin the main typst file for multifile support: <leader>tp"
vim.lsp.buf.execute_command { command = 'tinymist.pinMain', arguments = { vim.api.nvim_buf_get_name(0) } }
-- -- unpin the main file
-- vim.lsp.buf.execute_command { command = 'tinymist.pinMain', arguments = { nil } }
end, end,
}) })

View file

@ -127,34 +127,38 @@ capabilities = vim.tbl_deep_extend('force', capabilities, require('cmp_nvim_lsp'
-- - settings (table): Override the default settings passed when initializing the server. -- - settings (table): Override the default settings passed when initializing the server.
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/ -- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
local servers = { local servers = {
-- clangd = {},
-- gopls = {},
-- pyright = {},
-- rust_analyzer = {},
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
--
-- Some languages (like typescript) have entire language plugins that can be useful:
-- https://github.com/pmizio/typescript-tools.nvim
--
-- But for many setups, the LSP (`tsserver`) will work just fine
-- tsserver = {},
--
tinymist = { tinymist = {
settings = { settings = {
formatterMode = 'typstyle', formatterMode = 'typstyle',
exportPdf = 'never', exportPdf = 'never',
semanticTokens = 'disable', semanticTokens = 'disable',
}, },
on_attach = function(client, bufnr)
vim.keymap.set('n', '<leader>tp', function()
client:exec_cmd({
title = 'pin',
command = 'tinymist.pinMain',
arguments = { vim.api.nvim_buf_get_name(0) },
}, { bufnr = bufnr })
end, { desc = '[T]oggle [P]in (pin this file as main file)', noremap = true })
vim.keymap.set('n', '<leader>tu', function()
client:exec_cmd({
title = 'unpin',
command = 'tinymist.pinMain',
arguments = { vim.v.null },
}, { bufnr = bufnr })
end, { desc = '[T]oggle [U]npin (unpin this file as main file)', noremap = true })
end,
}, },
html = {}, html = {},
ts_ls = {},
cssls = {}, cssls = {},
ts_ls = {}, ts_ls = {},
clangd = {}, clangd = {},
pyright = {}, pyright = {},
bashls = {}, bashls = {},
yamlls = {}, yamlls = {},
texlab = {},
rust_analyzer = { rust_analyzer = {
settings = { settings = {
['rust-analyzer'] = { ['rust-analyzer'] = {
@ -203,23 +207,27 @@ require('mason').setup()
local ensure_installed = vim.tbl_keys(servers or {}) local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, { vim.list_extend(ensure_installed, {
'stylua', 'stylua',
'typstfmt', 'typstyle',
'prettier',
'rust-analyzer',
'clangd',
}) })
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
require('mason-lspconfig').setup { require('mason-lspconfig').setup {
handlers = { ensure_installed = ensure_installed,
function(server_name) automatic_installation = true,
local server = servers[server_name] or {} automatic_enable = true,
}
-- some things work weird
local lspconfig = require 'lspconfig'
for server_name, server in pairs(servers) do
-- This handles overriding only values explicitly passed -- This handles overriding only values explicitly passed
-- by the server configuration above. Useful when disabling -- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for tsserver) -- certain features of an LSP (for example, turning off formatting for tsserver)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server) require('lspconfig')[server_name].setup(server)
end, end
},
}
-- some things work weird
local lspconfig = require 'lspconfig'
lspconfig.gdscript.setup {} lspconfig.gdscript.setup {}

View file

@ -36,6 +36,7 @@ return {
end, end,
formatters_by_ft = { formatters_by_ft = {
['_'] = { 'prettier' }, ['_'] = { 'prettier' },
rust = { 'rust-analyzer' },
lua = { 'stylua' }, lua = { 'stylua' },
json = { 'jq' }, json = { 'jq' },
-- rust = { 'rustfmt' }, -- does not need one with the lsp there -- rust = { 'rustfmt' }, -- does not need one with the lsp there
@ -47,7 +48,7 @@ return {
-- --
-- You can use a sub-list to tell conform to run *until* a formatter -- You can use a sub-list to tell conform to run *until* a formatter
-- is found. -- is found.
javascript = { 'prettierd', 'prettier' }, javascript = { 'prettier' },
}, },
}, },
}, },

View file

@ -22,6 +22,7 @@ return {
-- Useful for getting pretty icons, but requires a Nerd Font. -- Useful for getting pretty icons, but requires a Nerd Font.
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
{ 'echasnovski/mini.icons', version = '*' },
}, },
config = function() config = function()
-- Telescope is a fuzzy finder that comes with a lot of different things that -- Telescope is a fuzzy finder that comes with a lot of different things that

View file

@ -1,17 +1,4 @@
return { the_themes = {
{
'zaldih/themery.nvim',
priority = 1000, -- Make sure to load this before all the other start plugins.
cmd = 'Themery',
keys = {
{ ';ft', '<cmd> Themery <cr>', desc = '[F]ind [T]heme' },
},
init = function()
require 'settings.theme'
end,
config = function()
require('themery').setup {
themes = {
-- Dark Themes -- Dark Themes
{ {
name = '==========Dark Themes==========', name = '==========Dark Themes==========',
@ -89,6 +76,12 @@ return {
vim.opt.background = "dark" vim.opt.background = "dark"
]], ]],
}, },
'catppuccin-frappe',
'catppuccin-macchiato',
'catppuccin-mocha',
'rose-pine-main',
'rose-pine-moon',
'cyberdream',
-- Light themes -- Light themes
{ {
name = '==========Light Themes==========', name = '==========Light Themes==========',
@ -110,8 +103,22 @@ return {
vim.opt.background = "light" vim.opt.background = "light"
]], ]],
}, },
'catppuccin-latte',
'rose-pine-dawn',
'cyberdream-light',
}
return {
{
'zaldih/themery.nvim',
lazy = false,
cmd = 'Themery',
keys = {
{ ';ft', '<cmd> Themery <cr>', desc = '[F]ind [T]heme' },
}, },
themeConfigFile = '~/.config/nvim/lua/settings/theme.lua', config = function()
require('themery').setup {
themes = the_themes,
livePreview = true, -- Apply theme while browsing. Default to true. livePreview = true, -- Apply theme while browsing. Default to true.
} }
end, end,
@ -119,4 +126,26 @@ return {
'folke/tokyonight.nvim', 'folke/tokyonight.nvim',
'rebelot/kanagawa.nvim', 'rebelot/kanagawa.nvim',
{ 'zenbones-theme/zenbones.nvim', dependencies = { 'rktjmp/lush.nvim' } }, { 'zenbones-theme/zenbones.nvim', dependencies = { 'rktjmp/lush.nvim' } },
{ 'catppuccin/nvim', name = 'catppuccin', priority = 1000 },
{ 'rose-pine/neovim', name = 'rose-pine' },
{
'scottmckendry/cyberdream.nvim',
setup = function()
require('cyberdream').setup {
-- Enable transparent background
transparent = true,
italic_comments = false,
-- Replace all fillchars with ' ' for the ultimate clean look
hide_fillchars = false,
borderless_pickers = true,
terminal_colors = true,
cache = true,
extensions = {
telescope = true,
notify = true,
mini = true,
},
}
end,
},
} }

View file

@ -1,7 +0,0 @@
-- Use `git update-index --assume-unchanged <file>` to ignore changes in this file
--
-- Themery block
-- This block will be replaced by Themery.
vim.cmd("colorscheme tokyonight-storm")
vim.g.theme_id = 10
-- end themery block