This directory contains the implementation of the LSP server for SixtyFPS featuring diagnostics, code completion, goto definition, and more importantly, live-preview
For VSCode, we have an extension in this repository, you can install it directly from the market place.
sh
cargo install sixtyfps-lsp --git https://github.com/sixtyfpsui/sixtyfps
$HOME/.cargo/bin/sixtyfps-lsp
binary (path may vary depending on the platform),
no arguments requiredBellow is a list of editors which have been tested:
Install the sixtyfps-lsp binary
Kate relies on the presence of syntax highlighting file for the usage of the LSP so we'll setup that first. The file sixtyfps.ksyntaxhighlighter.xml needs to be copied in a location where kate can find it:
mkdir -p ~/.local/share/org.kde.syntax-highlighting/syntax/
wget https://raw.githubusercontent.com/sixtyfpsui/sixtyfps/master/tools/lsp/sixtyfps.ksyntaxhighlighter.xml -O ~/.local/share/org.kde.syntax-highlighting/syntax/sixtyfps.xml
The, to setup the LSP, install the sixtyfps-lsp binary
cargo install sixtyfps-lsp --git https://github.com/sixtyfpsui/sixtyfps
Go to Settings > Configure Kate. In the Plugins section, enable the LSP-Client plugin. This will add a LSP Client section in the settings dialog. In that LSP Client section, go to the User Server Settings, and enter the following in the text area: (Replace YOUR_USER by your username)
json
{
"servers": {
"SixtyFPS": {
"command": ["/home/YOUR_USER/.cargo/bin/sixtyfps-lsp"],
"highlightingModeRegex": "SixtyFPS" }
}
}
To setup the lsp:
1. Install the sixtyfps-lsp binary with cargo install
as explained in the Generic Usage section above.
2. Then in Qt creator, go to Tools > Option and select the Language Client section.
3. Click Add
4. As a name, use "SixtyFPS"
5. use *.60
as a file pattern. (don't use MIME types)
6. As executable, select the ~/.cargo/bin/sixtyfps-lsp
binary (no arguments required)
7. Click Apply or Ok
For the syntax highlighting, QtCreator also supports the same format as kate, so refer to the instruction from the previous section to enable syntax highlighting.
In order to preview a component, when you have a .60 file open, place your cursor to the name of the component you would like to preview and press Alt + Enter to open the code action menu. Select Show Preview from that menu.
Vim and neovim support the Language Server Protocol via different plugins. We recommend the
Conquer of Completion plugin. Together with the
SixtyFPS LSP server, this enables inline diagnostics and code completion when editing .60
files.
After installing the extension, for example via vim-plug, two additional configuration changes are needed to integrate the LSP server with vim:
.60
files with the correct file typeIn your vim configuration file (for example ~/.vimrc
) add the following to enable the
automatic recognition when opening .60
files:
autocmd BufEnter *.60 :setlocal filetype=sixtyfps
Start vim
and run the :CocConfig
command to bring up the buffer that allows editing
the JSON configuration file (coc-settings.json
), and make sure the following mapping
exists under the language
server section:
json
{
"languageserver": {
"sixtyfps": {
"command": "sixtyfps-lsp",
"filetypes": ["sixtyfps"]
}
}
}