Add cross-compilation script

This commit is contained in:
Zachary Yedidia 2016-03-22 18:17:11 -04:00
parent a5b0befba1
commit d20df210d0
84 changed files with 53 additions and 5 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
micro
binaries/

View File

@ -7,4 +7,4 @@ install: syn-files
syn-files:
mkdir -p ~/.micro/syntax
cp syntax_files/* ~/.micro/syntax
./runtime/install.sh

44
cross-compile.sh Executable file
View File

@ -0,0 +1,44 @@
mkdir -p binaries
mkdir -p micro/bin
cp -r runtime micro/
echo 'mv runtime ~/.micro' >> micro/install.sh
chmod +x micro/install.sh
# Mac
echo "OSX 64"
GOOS=darwin GOARCH=amd64 go build -o micro/bin/micro ./src
tar -czf micro-osx.tar.gz micro
mv micro-osx.tar.gz binaries
# Linux
echo "Linux 64"
GOOS=linux GOARCH=amd64 go build -o micro/bin/micro ./src
tar -czf micro-linux64.tar.gz micro
mv micro-linux64.tar.gz binaries
echo "Linux 32"
GOOS=linux GOARCH=386 go build -o micro/bin/micro ./src
tar -czf micro-linux32.tar.gz micro
mv micro-linux32.tar.gz binaries
echo "Linux arm"
GOOS=linux GOARCH=arm go build -o micro/bin/micro ./src
tar -czf micro-linux-arm.tar.gz micro
mv micro-linux-arm.tar.gz binaries
rm micro/bin/micro
rm micro/install.sh
echo 'move runtime %HOMEPATH%\.micro' >> micro/install.bat
chmod +x micro/install.bat
# Windows
echo "Windows 64"
GOOS=windows GOARCH=amd64 go build -o micro/bin/micro.exe ./src
zip -r -q -T micro-win64.zip micro
mv micro-win64.zip binaries
echo "Windows 32"
GOOS=windows GOARCH=386 go build -o micro/bin/micro.exe ./src
zip -r -q -T micro-win32.zip micro
mv micro-win32.zip binaries
rm -rf micro

3
runtime/README.md Normal file
View File

@ -0,0 +1,3 @@
# Runtime files for Micro
The contents of this directory should be put in `~/.micro`.

View File

@ -1,7 +1,7 @@
# Micro syntax highlighting files
These are the syntax highlighting files for micro. To install them, just
put them all in `~/.micro/syntax`.
run `./install.sh` one directory up (`runtime/`) which will simply put all the syntax files in `~/.micro/syntax`.
They are taken from Nano, specifically from [this repository](https://github.com/scopatz/nanorc).
Micro syntax files are almost identical to Nano's, except for some key differences:

View File

@ -149,9 +149,9 @@ func Match(rules string, buf *Buffer, v *View) map[int]tcell.Style {
color := string(submatch[1])
var regexStr string
if len(submatch) == 4 {
regexStr = "(?m" + string(submatch[2]) + ")" + string(submatch[3])
regexStr = "(?m" + string(submatch[2]) + ")" + JoinRule(string(submatch[3]))
} else if len(submatch) == 3 {
regexStr = "(?m)" + string(submatch[2])
regexStr = "(?m)" + JoinRule(string(submatch[2]))
}
regex, err := regexp.Compile(regexStr)
if err != nil {

View File

@ -268,7 +268,7 @@ func (v *View) HandleEvent(event tcell.Event) int {
v.ScrollDown(1)
y = v.height + v.topline - 1
}
if y > len(v.buf.lines) {
if y >= len(v.buf.lines) {
y = len(v.buf.lines) - 1
}
if x < 0 {