Download
Debian-derived (Ubuntu, etc.) (x64)
crow-x64.deb
sudo dpkg --install crow-x64.deb
To uninstall: sudo dpkg --remove crow
Any Linux (x64)
crow-linux-x64.tar.xz
First ensure libunwind-dev
is installed. Then:
Global install (recommended)
sudo tar -xJf crow-linux-x64.tar.xz -C /usr/local/bin bin --strip-components 1
sudo mkdir /usr/local/include/crow
sudo tar -xJf crow-linux-x64.tar.xz -C /usr/local/include/crow include --strip-components 1
To uninstall: sudo rm -r /usr/local/bin/crow /usr/local/include/crow
Local install
To uninstall: rm -r ~/Downloads/crow
Windows (x64)
crow-windows-x64.tar.xz
tar --extract -xJf crow-windows-x64.tar.xz -C C:\crow
(C:\crow
is a suggestion; you can install it anywhere.)
Then add C:\crow\bin
to your PATH
.
(How to do that)
To uninstall: rmdir /s /q C:\crow
Other
If you'd like to see a new system supported, create an issue.
Once it's installed, test it out on some demos:
Demos (optional)
crow-demo.tar.xz
crow-demo-windows.tar.xz
tar -xJf crow-demo.tar.xz
crow crow-demo/hello.crow
# To see other demos
dir crow-demo
Crow supports IDE features: syntax highlighting, diagnostics, go-to-definition, references, and renaming.
VSCode
crow.vsix
Sublime text
crow.sublime-syntax
-
Linux:
bash -llc 'ln -s `pwd`/crow/editor/crow.sublime-syntax ~/.config/sublime-text/Packages/User/crow.sublime-syntax'
-
Windows:
copy %CD%\crow\editor\crow.sublime-syntax "%USERPROFILE%\AppData\Roaming\Sublime Text\Packages\User\crow.sublime-syntax"
Then restart Sublime Text and open a Crow file. In the lower-right corner, click "Plain text" and change it to "Crow".
LSP support
There is no download for this. It uses the crow
you already installed.
Install package control, then install the LSP
plugin.
In the top menu, open Preferences → Package settings → LSP → Settings.
In the "clients" section, paste:
"crow": { "command": ["/usr/local/bin/crow", "lsp"], "enabled": true, "languageId": "crow", "scopes": ["source.crow"], "syntaxes": "Packages/crow/crow.sublime-syntax" }
You should now be able to see diagnostics (try calling a nonexistent function). For other actions, right click and use the "LSP" menu. If there seems to be an issue, debug with the "LSP: Toggle Log Panel" command.