-
Notifications
You must be signed in to change notification settings - Fork 0
Setting up the Flix compiler project
Jakob Schneider edited this page Mar 28, 2023
·
32 revisions
Here's how to set up the the Flix compiler project.
- Set up ssh and gpg keys
- Clone my own fork
- Create a branch called main with
git branch main - Check out
mainwithgit checkout main - Delete
masterlocallygit branch -D master - Set up Flix as remote
git remote add -t master -m master upstream git@github.com:flix/flix.git - Fetch and update branches
git fetch --prune --all - Set the correct upstream
git branch --set-upstream-to=upstream/HEAD main - Pull latest changes
git pull
Remember to set signingKey, email, and name in the global git settings with git config --global user.<key> <value>
In short summary:
$ git clone git@github.com:jaschdoc/flix.git
$ git branch main
$ git checkout main
$ git branch -D master
$ git remote add -t master -m master upstream git@github.com:flix/flix.git
$ git fetch --prune -all
$ git branch --set-upstream-to=upstream/HEAD main
$ git pullMy IntelliJ font settings are:
- Editor > Font > Size: 22.0
- Editor > File Types > Add Flix (Description: Flix, Line Comment:
//, Block Comment start:/*, Block Comment end*/) - Check support boxes and add keywords below. Also add*.flixto file name patterns. - Add
libjars to library instead of using Gradle
Here's a list of the Flix keywords (may be out of date) for IntelliJ highlighting
1
->
<=>
=>
???
BigInt
Bool
Char
Float32
Float64
Int16
Int32
Int64
Int8
Nil
ReifiedType
Static
String
Unit
alias
and
as
case
catch
checked_cast
checked_ecast
class
def
deref
do
eff
else
enum
f32
f64
false
ff
for
forA
forM
force
foreach
from
get
i16
i32
i64
i8
if
ii
import
inject
inline
instance
into
law
lawful
lazy
let
match
mod
namespace
new
not
null
or
override
par
project
pub
query
ref
region
rem
resume
select
set
solve
static
true
try
type
typematch
unchecked_cast
use
where
with
without
yield
2
3
IO
Impure
NonDet
Pure
Read
Type
Write
ef
ef1
ef2
4
@Test
@test
discard