OBS: Work In Progress
(Neo)vim plugin for Typst.
I am applying the 80/20 rule in this project since I prefer to have something now rather than waiting for everything later.
Editing typst-palette in Vim with the gruvbox colorscheme
Existing
:make
.g:typst_conceal
.g:typst_conceal_math
.g:typst_conceal_emoji
.g:typst_embedded_languages
.Possible features
Do you miss anything from other packages, e.g. vimtex
, create an issue
and I'll probably add it! Also feel free to make a PR!
require('packer').startup(function(use)
use {'kaarmu/typst.vim', ft = {'typst'}}
end)
:so %
or restart neovim to reload config:PackerSync
return {
'kaarmu/typst.vim',
ft = 'typst',
lazy=false,
}
call plug#begin('~/.vim/plugged')
Plug 'kaarmu/typst.vim'
call plug#end()
:PlugInstall
g:typst_syntax_highlight
:
Enable syntax highlighting.
Default: 1
g:typst_cmd
:
Specifies the location of the Typst executable.
Default: 'typst'
g:typst_pdf_viewer
:
Specifies pdf viewer that typst watch --open
will use.
Default: ''
g:typst_conceal
:
Enable concealment.
Default: 0
g:typst_conceal_math
:
Enable concealment for math symbols in math mode (i.e. replaces symbols
with their actual unicode character). OBS: this can affect performance,
see issue #64.
Default: g:typst_conceal
g:typst_conceal_emoji
:
Enable concealing emojis, e.g. #emoji.alien
becomes 👽.
Default: g:typst_conceal
g:typst_auto_close_toc
:
Specifies whether TOC will be automatically closed after using it.
Default: 0
g:typst_auto_open_quickfix
:
Specifies whether the quickfix list should automatically open when there are errors from typst.
Default: 1
g:typst_embedded_languages
:
A list of languages that will be highlighted in code blocks. Typst is always highlighted.
Default: []
:TypstWatch
:
Watches your document and recompiles on change; also opens the document with your default pdf viewer.If you are using neovim
you can install typst-lsp.
There exist a server configuration in nvim-lspconfig
so it should be easy to set it up. The
config currently requires that you're working in a git repo. Once the neovim+LSP recognizes
the file the LSP will compile your document while you write (almost like a wysiwyg!). By default
it will compile on save but you can set it to compile-on-write as well.