From 5395abfa0390d95b19ab40c543fcf9bb710a862a Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Tue, 19 Dec 2023 16:28:41 +1100 Subject: [PATCH 1/4] Add solid support for Typst editing --- dot-config/vim/lsp/servers.vim | 10 ++++++++++ dot-config/vim/plugins.vim | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/dot-config/vim/lsp/servers.vim b/dot-config/vim/lsp/servers.vim index a2fe2bd..c60e755 100644 --- a/dot-config/vim/lsp/servers.vim +++ b/dot-config/vim/lsp/servers.vim @@ -89,6 +89,16 @@ const lspServers = [ install: 'brew install typescript-language-server', }, + { + name: 'typst-lsp', + filetype: 'typst', + path: exepath('typst-lsp'), + initializationOptions: { + exportPdf: 'onType', + }, + install: 'cargo install typst-lsp', + }, + { name: 'vim-language-server', filetype: 'vim', diff --git a/dot-config/vim/plugins.vim b/dot-config/vim/plugins.vim index 95c5751..2cb708f 100644 --- a/dot-config/vim/plugins.vim +++ b/dot-config/vim/plugins.vim @@ -171,6 +171,11 @@ minpac#add('fladson/vim-kitty') # PHPStan config file in my case. minpac#add('fpob/nette.vim') +# Syntax highlighting and other minor niceties for Typst source. Nothing too +# exciting: we also rely on communicating with typst-lsp for full language +# support functionality. +minpac#add('kaarmu/typst.vim') + # Really good semantic folding for YAML and YAML-like files. If you're # curious: https://pedrohdz.com/posts/programming/yaml_vim_folds/ minpac#add('pedrohdz/vim-yaml-folds') From 41380c64276ce51b4eda2fea039479bb68b04767 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Tue, 19 Dec 2023 16:29:05 +1100 Subject: [PATCH 2/4] Remove unused Zinit syntax, since I'm on Zim now --- dot-config/vim/plugins.vim | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dot-config/vim/plugins.vim b/dot-config/vim/plugins.vim index 2cb708f..d084fb1 100644 --- a/dot-config/vim/plugins.vim +++ b/dot-config/vim/plugins.vim @@ -180,10 +180,6 @@ minpac#add('kaarmu/typst.vim') # curious: https://pedrohdz.com/posts/programming/yaml_vim_folds/ minpac#add('pedrohdz/vim-yaml-folds') -# Extend Vim's standard Zsh syntax highlighting with special support for -# Zinit's ice syntax, since that's what I use in dot/zsh. -minpac#add('zdharma-continuum/zinit-vim-syntax') - # An interactive mode for Taskwarrior, built as a Vim plugin. It's obviously # only useful if Taskwarrior is installed. if executable('task') From 1e6904e8bbdddaadb39d80b9550e7f0892242894 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Tue, 19 Dec 2023 16:29:52 +1100 Subject: [PATCH 3/4] Install Zoxide plugin, helpful for GVim especially --- dot-config/vim/plugins.vim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dot-config/vim/plugins.vim b/dot-config/vim/plugins.vim index d084fb1..c4ebc61 100644 --- a/dot-config/vim/plugins.vim +++ b/dot-config/vim/plugins.vim @@ -87,6 +87,9 @@ if !isdirectory($VIMRUNTIME .. '/pack/dist/opt/editorconfig') minpac#add('editorconfig/editorconfig-vim', {name: 'editorconfig', type: 'opt'}) endif +# Access Zoxide, a frecency-powered cd command, from inside Vim. +minpac#add('nanotee/zoxide.vim') + # skim is a standalone fuzzy finder, kinda like fzf or fzy or selecta, but # written in Rust. These two plugins teach Vim to integrate with it, so you # can use skim's high performance fuzzy finding to locate stuff (files, From 0e7bb1a498fcd7046b59b1b02960dd6751282ed7 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Tue, 19 Dec 2023 16:30:28 +1100 Subject: [PATCH 4/4] Install VimTeX for LaTeX support :) --- dot-config/vim/plugin/vimtex.vim | 2 ++ dot-config/vim/plugins.vim | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 dot-config/vim/plugin/vimtex.vim diff --git a/dot-config/vim/plugin/vimtex.vim b/dot-config/vim/plugin/vimtex.vim new file mode 100644 index 0000000..fe346e6 --- /dev/null +++ b/dot-config/vim/plugin/vimtex.vim @@ -0,0 +1,2 @@ +vim9script +g:vimtex_view_method = 'skim' diff --git a/dot-config/vim/plugins.vim b/dot-config/vim/plugins.vim index c4ebc61..a72d360 100644 --- a/dot-config/vim/plugins.vim +++ b/dot-config/vim/plugins.vim @@ -168,6 +168,10 @@ minpac#add('NoahTheDuke/vim-just') # kovidgoyal/kitty is my daily driver terminal emulator. Yay! minpac#add('fladson/vim-kitty') +# Really good support for LaTeX, including enhanced syntax highlighting but +# also auto-compilation and SyncTeX search support in both directions. +minpac#add('lervag/vimtex') + # Syntax highlighting for .neon files, like phpstan.neon. Nette is actually a # full-blown PHP web framework and this plugin provides other Nette tooling # too, but I don't use Nette so it's really just providing syntax for the