From d20df210d08c3d344b8543fda6e50b149dab685e Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 22 Mar 2016 18:17:11 -0400 Subject: [PATCH 1/3] Add cross-compilation script --- .gitignore | 1 + Makefile | 2 +- cross-compile.sh | 44 +++++++++++++++++++ runtime/README.md | 3 ++ .../syntax}/Dockerfile.micro | 0 {syntax_files => runtime/syntax}/README.md | 2 +- .../syntax}/apacheconf.micro | 0 .../syntax}/arduino.micro | 0 .../syntax}/asciidoc.micro | 0 {syntax_files => runtime/syntax}/asm.micro | 0 {syntax_files => runtime/syntax}/awk.micro | 0 {syntax_files => runtime/syntax}/c.micro | 0 {syntax_files => runtime/syntax}/cmake.micro | 0 .../syntax}/coffeescript.micro | 0 .../syntax}/colortest.micro | 0 {syntax_files => runtime/syntax}/conf.micro | 0 {syntax_files => runtime/syntax}/conky.micro | 0 {syntax_files => runtime/syntax}/csharp.micro | 0 {syntax_files => runtime/syntax}/css.micro | 0 {syntax_files => runtime/syntax}/cython.micro | 0 {syntax_files => runtime/syntax}/d.micro | 0 {syntax_files => runtime/syntax}/dot.micro | 0 {syntax_files => runtime/syntax}/erb.micro | 0 {syntax_files => runtime/syntax}/fish.micro | 0 .../syntax}/fortran.micro | 0 {syntax_files => runtime/syntax}/gentoo.micro | 0 {syntax_files => runtime/syntax}/git.micro | 0 {syntax_files => runtime/syntax}/glsl.micro | 0 {syntax_files => runtime/syntax}/go.micro | 0 {syntax_files => runtime/syntax}/groff.micro | 0 {syntax_files => runtime/syntax}/haml.micro | 0 .../syntax}/haskell.micro | 0 {syntax_files => runtime/syntax}/html.micro | 0 {syntax_files => runtime/syntax}/ini.micro | 0 .../syntax}/inputrc.micro | 0 {syntax_files => runtime/syntax}/java.micro | 0 .../syntax}/javascript.micro | 0 {syntax_files => runtime/syntax}/json.micro | 0 {syntax_files => runtime/syntax}/keymap.micro | 0 .../syntax}/kickstart.micro | 0 {syntax_files => runtime/syntax}/ledger.micro | 0 {syntax_files => runtime/syntax}/lisp.micro | 0 {syntax_files => runtime/syntax}/lua.micro | 0 .../syntax}/makefile.micro | 0 {syntax_files => runtime/syntax}/man.micro | 0 .../syntax}/markdown.micro | 0 .../syntax}/mpdconf.micro | 0 {syntax_files => runtime/syntax}/nanorc.micro | 0 {syntax_files => runtime/syntax}/nginx.micro | 0 {syntax_files => runtime/syntax}/ocaml.micro | 0 {syntax_files => runtime/syntax}/patch.micro | 0 {syntax_files => runtime/syntax}/peg.micro | 0 {syntax_files => runtime/syntax}/perl.micro | 0 {syntax_files => runtime/syntax}/perl6.micro | 0 {syntax_files => runtime/syntax}/php.micro | 0 .../syntax}/pkg-config.micro | 0 .../syntax}/pkgbuild.micro | 0 {syntax_files => runtime/syntax}/po.micro | 0 {syntax_files => runtime/syntax}/pov.micro | 0 .../syntax}/privoxy.micro | 0 {syntax_files => runtime/syntax}/puppet.micro | 0 {syntax_files => runtime/syntax}/python.micro | 0 {syntax_files => runtime/syntax}/reST.micro | 0 .../syntax}/rpmspec.micro | 0 {syntax_files => runtime/syntax}/ruby.micro | 0 {syntax_files => runtime/syntax}/rust.micro | 0 {syntax_files => runtime/syntax}/scala.micro | 0 {syntax_files => runtime/syntax}/sed.micro | 0 {syntax_files => runtime/syntax}/sh.micro | 0 {syntax_files => runtime/syntax}/sls.micro | 0 {syntax_files => runtime/syntax}/sql.micro | 0 {syntax_files => runtime/syntax}/swift.micro | 0 .../syntax}/systemd.micro | 0 {syntax_files => runtime/syntax}/tcl.micro | 0 {syntax_files => runtime/syntax}/tex.micro | 0 {syntax_files => runtime/syntax}/vala.micro | 0 {syntax_files => runtime/syntax}/vi.micro | 0 {syntax_files => runtime/syntax}/xml.micro | 0 .../syntax}/xresources.micro | 0 {syntax_files => runtime/syntax}/yaml.micro | 0 {syntax_files => runtime/syntax}/yum.micro | 0 {syntax_files => runtime/syntax}/zsh.micro | 0 src/highlighter.go | 4 +- src/view.go | 2 +- 84 files changed, 53 insertions(+), 5 deletions(-) create mode 100755 cross-compile.sh create mode 100644 runtime/README.md rename {syntax_files => runtime/syntax}/Dockerfile.micro (100%) rename {syntax_files => runtime/syntax}/README.md (78%) rename {syntax_files => runtime/syntax}/apacheconf.micro (100%) rename {syntax_files => runtime/syntax}/arduino.micro (100%) rename {syntax_files => runtime/syntax}/asciidoc.micro (100%) rename {syntax_files => runtime/syntax}/asm.micro (100%) rename {syntax_files => runtime/syntax}/awk.micro (100%) rename {syntax_files => runtime/syntax}/c.micro (100%) rename {syntax_files => runtime/syntax}/cmake.micro (100%) rename {syntax_files => runtime/syntax}/coffeescript.micro (100%) rename {syntax_files => runtime/syntax}/colortest.micro (100%) rename {syntax_files => runtime/syntax}/conf.micro (100%) rename {syntax_files => runtime/syntax}/conky.micro (100%) rename {syntax_files => runtime/syntax}/csharp.micro (100%) rename {syntax_files => runtime/syntax}/css.micro (100%) rename {syntax_files => runtime/syntax}/cython.micro (100%) rename {syntax_files => runtime/syntax}/d.micro (100%) rename {syntax_files => runtime/syntax}/dot.micro (100%) rename {syntax_files => runtime/syntax}/erb.micro (100%) rename {syntax_files => runtime/syntax}/fish.micro (100%) rename {syntax_files => runtime/syntax}/fortran.micro (100%) rename {syntax_files => runtime/syntax}/gentoo.micro (100%) rename {syntax_files => runtime/syntax}/git.micro (100%) rename {syntax_files => runtime/syntax}/glsl.micro (100%) rename {syntax_files => runtime/syntax}/go.micro (100%) rename {syntax_files => runtime/syntax}/groff.micro (100%) rename {syntax_files => runtime/syntax}/haml.micro (100%) rename {syntax_files => runtime/syntax}/haskell.micro (100%) rename {syntax_files => runtime/syntax}/html.micro (100%) rename {syntax_files => runtime/syntax}/ini.micro (100%) rename {syntax_files => runtime/syntax}/inputrc.micro (100%) rename {syntax_files => runtime/syntax}/java.micro (100%) rename {syntax_files => runtime/syntax}/javascript.micro (100%) rename {syntax_files => runtime/syntax}/json.micro (100%) rename {syntax_files => runtime/syntax}/keymap.micro (100%) rename {syntax_files => runtime/syntax}/kickstart.micro (100%) rename {syntax_files => runtime/syntax}/ledger.micro (100%) rename {syntax_files => runtime/syntax}/lisp.micro (100%) rename {syntax_files => runtime/syntax}/lua.micro (100%) rename {syntax_files => runtime/syntax}/makefile.micro (100%) rename {syntax_files => runtime/syntax}/man.micro (100%) rename {syntax_files => runtime/syntax}/markdown.micro (100%) rename {syntax_files => runtime/syntax}/mpdconf.micro (100%) rename {syntax_files => runtime/syntax}/nanorc.micro (100%) rename {syntax_files => runtime/syntax}/nginx.micro (100%) rename {syntax_files => runtime/syntax}/ocaml.micro (100%) rename {syntax_files => runtime/syntax}/patch.micro (100%) rename {syntax_files => runtime/syntax}/peg.micro (100%) rename {syntax_files => runtime/syntax}/perl.micro (100%) rename {syntax_files => runtime/syntax}/perl6.micro (100%) rename {syntax_files => runtime/syntax}/php.micro (100%) rename {syntax_files => runtime/syntax}/pkg-config.micro (100%) rename {syntax_files => runtime/syntax}/pkgbuild.micro (100%) rename {syntax_files => runtime/syntax}/po.micro (100%) rename {syntax_files => runtime/syntax}/pov.micro (100%) rename {syntax_files => runtime/syntax}/privoxy.micro (100%) rename {syntax_files => runtime/syntax}/puppet.micro (100%) rename {syntax_files => runtime/syntax}/python.micro (100%) rename {syntax_files => runtime/syntax}/reST.micro (100%) rename {syntax_files => runtime/syntax}/rpmspec.micro (100%) rename {syntax_files => runtime/syntax}/ruby.micro (100%) rename {syntax_files => runtime/syntax}/rust.micro (100%) rename {syntax_files => runtime/syntax}/scala.micro (100%) rename {syntax_files => runtime/syntax}/sed.micro (100%) rename {syntax_files => runtime/syntax}/sh.micro (100%) rename {syntax_files => runtime/syntax}/sls.micro (100%) rename {syntax_files => runtime/syntax}/sql.micro (100%) rename {syntax_files => runtime/syntax}/swift.micro (100%) rename {syntax_files => runtime/syntax}/systemd.micro (100%) rename {syntax_files => runtime/syntax}/tcl.micro (100%) rename {syntax_files => runtime/syntax}/tex.micro (100%) rename {syntax_files => runtime/syntax}/vala.micro (100%) rename {syntax_files => runtime/syntax}/vi.micro (100%) rename {syntax_files => runtime/syntax}/xml.micro (100%) rename {syntax_files => runtime/syntax}/xresources.micro (100%) rename {syntax_files => runtime/syntax}/yaml.micro (100%) rename {syntax_files => runtime/syntax}/yum.micro (100%) rename {syntax_files => runtime/syntax}/zsh.micro (100%) diff --git a/.gitignore b/.gitignore index aaf0cae5..877caa7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ micro +binaries/ diff --git a/Makefile b/Makefile index bf43e5d3..1ba35893 100644 --- a/Makefile +++ b/Makefile @@ -7,4 +7,4 @@ install: syn-files syn-files: mkdir -p ~/.micro/syntax - cp syntax_files/* ~/.micro/syntax + ./runtime/install.sh diff --git a/cross-compile.sh b/cross-compile.sh new file mode 100755 index 00000000..0150abc3 --- /dev/null +++ b/cross-compile.sh @@ -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 diff --git a/runtime/README.md b/runtime/README.md new file mode 100644 index 00000000..7be55f6e --- /dev/null +++ b/runtime/README.md @@ -0,0 +1,3 @@ +# Runtime files for Micro + +The contents of this directory should be put in `~/.micro`. diff --git a/syntax_files/Dockerfile.micro b/runtime/syntax/Dockerfile.micro similarity index 100% rename from syntax_files/Dockerfile.micro rename to runtime/syntax/Dockerfile.micro diff --git a/syntax_files/README.md b/runtime/syntax/README.md similarity index 78% rename from syntax_files/README.md rename to runtime/syntax/README.md index b1c720fb..ba443f16 100644 --- a/syntax_files/README.md +++ b/runtime/syntax/README.md @@ -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: diff --git a/syntax_files/apacheconf.micro b/runtime/syntax/apacheconf.micro similarity index 100% rename from syntax_files/apacheconf.micro rename to runtime/syntax/apacheconf.micro diff --git a/syntax_files/arduino.micro b/runtime/syntax/arduino.micro similarity index 100% rename from syntax_files/arduino.micro rename to runtime/syntax/arduino.micro diff --git a/syntax_files/asciidoc.micro b/runtime/syntax/asciidoc.micro similarity index 100% rename from syntax_files/asciidoc.micro rename to runtime/syntax/asciidoc.micro diff --git a/syntax_files/asm.micro b/runtime/syntax/asm.micro similarity index 100% rename from syntax_files/asm.micro rename to runtime/syntax/asm.micro diff --git a/syntax_files/awk.micro b/runtime/syntax/awk.micro similarity index 100% rename from syntax_files/awk.micro rename to runtime/syntax/awk.micro diff --git a/syntax_files/c.micro b/runtime/syntax/c.micro similarity index 100% rename from syntax_files/c.micro rename to runtime/syntax/c.micro diff --git a/syntax_files/cmake.micro b/runtime/syntax/cmake.micro similarity index 100% rename from syntax_files/cmake.micro rename to runtime/syntax/cmake.micro diff --git a/syntax_files/coffeescript.micro b/runtime/syntax/coffeescript.micro similarity index 100% rename from syntax_files/coffeescript.micro rename to runtime/syntax/coffeescript.micro diff --git a/syntax_files/colortest.micro b/runtime/syntax/colortest.micro similarity index 100% rename from syntax_files/colortest.micro rename to runtime/syntax/colortest.micro diff --git a/syntax_files/conf.micro b/runtime/syntax/conf.micro similarity index 100% rename from syntax_files/conf.micro rename to runtime/syntax/conf.micro diff --git a/syntax_files/conky.micro b/runtime/syntax/conky.micro similarity index 100% rename from syntax_files/conky.micro rename to runtime/syntax/conky.micro diff --git a/syntax_files/csharp.micro b/runtime/syntax/csharp.micro similarity index 100% rename from syntax_files/csharp.micro rename to runtime/syntax/csharp.micro diff --git a/syntax_files/css.micro b/runtime/syntax/css.micro similarity index 100% rename from syntax_files/css.micro rename to runtime/syntax/css.micro diff --git a/syntax_files/cython.micro b/runtime/syntax/cython.micro similarity index 100% rename from syntax_files/cython.micro rename to runtime/syntax/cython.micro diff --git a/syntax_files/d.micro b/runtime/syntax/d.micro similarity index 100% rename from syntax_files/d.micro rename to runtime/syntax/d.micro diff --git a/syntax_files/dot.micro b/runtime/syntax/dot.micro similarity index 100% rename from syntax_files/dot.micro rename to runtime/syntax/dot.micro diff --git a/syntax_files/erb.micro b/runtime/syntax/erb.micro similarity index 100% rename from syntax_files/erb.micro rename to runtime/syntax/erb.micro diff --git a/syntax_files/fish.micro b/runtime/syntax/fish.micro similarity index 100% rename from syntax_files/fish.micro rename to runtime/syntax/fish.micro diff --git a/syntax_files/fortran.micro b/runtime/syntax/fortran.micro similarity index 100% rename from syntax_files/fortran.micro rename to runtime/syntax/fortran.micro diff --git a/syntax_files/gentoo.micro b/runtime/syntax/gentoo.micro similarity index 100% rename from syntax_files/gentoo.micro rename to runtime/syntax/gentoo.micro diff --git a/syntax_files/git.micro b/runtime/syntax/git.micro similarity index 100% rename from syntax_files/git.micro rename to runtime/syntax/git.micro diff --git a/syntax_files/glsl.micro b/runtime/syntax/glsl.micro similarity index 100% rename from syntax_files/glsl.micro rename to runtime/syntax/glsl.micro diff --git a/syntax_files/go.micro b/runtime/syntax/go.micro similarity index 100% rename from syntax_files/go.micro rename to runtime/syntax/go.micro diff --git a/syntax_files/groff.micro b/runtime/syntax/groff.micro similarity index 100% rename from syntax_files/groff.micro rename to runtime/syntax/groff.micro diff --git a/syntax_files/haml.micro b/runtime/syntax/haml.micro similarity index 100% rename from syntax_files/haml.micro rename to runtime/syntax/haml.micro diff --git a/syntax_files/haskell.micro b/runtime/syntax/haskell.micro similarity index 100% rename from syntax_files/haskell.micro rename to runtime/syntax/haskell.micro diff --git a/syntax_files/html.micro b/runtime/syntax/html.micro similarity index 100% rename from syntax_files/html.micro rename to runtime/syntax/html.micro diff --git a/syntax_files/ini.micro b/runtime/syntax/ini.micro similarity index 100% rename from syntax_files/ini.micro rename to runtime/syntax/ini.micro diff --git a/syntax_files/inputrc.micro b/runtime/syntax/inputrc.micro similarity index 100% rename from syntax_files/inputrc.micro rename to runtime/syntax/inputrc.micro diff --git a/syntax_files/java.micro b/runtime/syntax/java.micro similarity index 100% rename from syntax_files/java.micro rename to runtime/syntax/java.micro diff --git a/syntax_files/javascript.micro b/runtime/syntax/javascript.micro similarity index 100% rename from syntax_files/javascript.micro rename to runtime/syntax/javascript.micro diff --git a/syntax_files/json.micro b/runtime/syntax/json.micro similarity index 100% rename from syntax_files/json.micro rename to runtime/syntax/json.micro diff --git a/syntax_files/keymap.micro b/runtime/syntax/keymap.micro similarity index 100% rename from syntax_files/keymap.micro rename to runtime/syntax/keymap.micro diff --git a/syntax_files/kickstart.micro b/runtime/syntax/kickstart.micro similarity index 100% rename from syntax_files/kickstart.micro rename to runtime/syntax/kickstart.micro diff --git a/syntax_files/ledger.micro b/runtime/syntax/ledger.micro similarity index 100% rename from syntax_files/ledger.micro rename to runtime/syntax/ledger.micro diff --git a/syntax_files/lisp.micro b/runtime/syntax/lisp.micro similarity index 100% rename from syntax_files/lisp.micro rename to runtime/syntax/lisp.micro diff --git a/syntax_files/lua.micro b/runtime/syntax/lua.micro similarity index 100% rename from syntax_files/lua.micro rename to runtime/syntax/lua.micro diff --git a/syntax_files/makefile.micro b/runtime/syntax/makefile.micro similarity index 100% rename from syntax_files/makefile.micro rename to runtime/syntax/makefile.micro diff --git a/syntax_files/man.micro b/runtime/syntax/man.micro similarity index 100% rename from syntax_files/man.micro rename to runtime/syntax/man.micro diff --git a/syntax_files/markdown.micro b/runtime/syntax/markdown.micro similarity index 100% rename from syntax_files/markdown.micro rename to runtime/syntax/markdown.micro diff --git a/syntax_files/mpdconf.micro b/runtime/syntax/mpdconf.micro similarity index 100% rename from syntax_files/mpdconf.micro rename to runtime/syntax/mpdconf.micro diff --git a/syntax_files/nanorc.micro b/runtime/syntax/nanorc.micro similarity index 100% rename from syntax_files/nanorc.micro rename to runtime/syntax/nanorc.micro diff --git a/syntax_files/nginx.micro b/runtime/syntax/nginx.micro similarity index 100% rename from syntax_files/nginx.micro rename to runtime/syntax/nginx.micro diff --git a/syntax_files/ocaml.micro b/runtime/syntax/ocaml.micro similarity index 100% rename from syntax_files/ocaml.micro rename to runtime/syntax/ocaml.micro diff --git a/syntax_files/patch.micro b/runtime/syntax/patch.micro similarity index 100% rename from syntax_files/patch.micro rename to runtime/syntax/patch.micro diff --git a/syntax_files/peg.micro b/runtime/syntax/peg.micro similarity index 100% rename from syntax_files/peg.micro rename to runtime/syntax/peg.micro diff --git a/syntax_files/perl.micro b/runtime/syntax/perl.micro similarity index 100% rename from syntax_files/perl.micro rename to runtime/syntax/perl.micro diff --git a/syntax_files/perl6.micro b/runtime/syntax/perl6.micro similarity index 100% rename from syntax_files/perl6.micro rename to runtime/syntax/perl6.micro diff --git a/syntax_files/php.micro b/runtime/syntax/php.micro similarity index 100% rename from syntax_files/php.micro rename to runtime/syntax/php.micro diff --git a/syntax_files/pkg-config.micro b/runtime/syntax/pkg-config.micro similarity index 100% rename from syntax_files/pkg-config.micro rename to runtime/syntax/pkg-config.micro diff --git a/syntax_files/pkgbuild.micro b/runtime/syntax/pkgbuild.micro similarity index 100% rename from syntax_files/pkgbuild.micro rename to runtime/syntax/pkgbuild.micro diff --git a/syntax_files/po.micro b/runtime/syntax/po.micro similarity index 100% rename from syntax_files/po.micro rename to runtime/syntax/po.micro diff --git a/syntax_files/pov.micro b/runtime/syntax/pov.micro similarity index 100% rename from syntax_files/pov.micro rename to runtime/syntax/pov.micro diff --git a/syntax_files/privoxy.micro b/runtime/syntax/privoxy.micro similarity index 100% rename from syntax_files/privoxy.micro rename to runtime/syntax/privoxy.micro diff --git a/syntax_files/puppet.micro b/runtime/syntax/puppet.micro similarity index 100% rename from syntax_files/puppet.micro rename to runtime/syntax/puppet.micro diff --git a/syntax_files/python.micro b/runtime/syntax/python.micro similarity index 100% rename from syntax_files/python.micro rename to runtime/syntax/python.micro diff --git a/syntax_files/reST.micro b/runtime/syntax/reST.micro similarity index 100% rename from syntax_files/reST.micro rename to runtime/syntax/reST.micro diff --git a/syntax_files/rpmspec.micro b/runtime/syntax/rpmspec.micro similarity index 100% rename from syntax_files/rpmspec.micro rename to runtime/syntax/rpmspec.micro diff --git a/syntax_files/ruby.micro b/runtime/syntax/ruby.micro similarity index 100% rename from syntax_files/ruby.micro rename to runtime/syntax/ruby.micro diff --git a/syntax_files/rust.micro b/runtime/syntax/rust.micro similarity index 100% rename from syntax_files/rust.micro rename to runtime/syntax/rust.micro diff --git a/syntax_files/scala.micro b/runtime/syntax/scala.micro similarity index 100% rename from syntax_files/scala.micro rename to runtime/syntax/scala.micro diff --git a/syntax_files/sed.micro b/runtime/syntax/sed.micro similarity index 100% rename from syntax_files/sed.micro rename to runtime/syntax/sed.micro diff --git a/syntax_files/sh.micro b/runtime/syntax/sh.micro similarity index 100% rename from syntax_files/sh.micro rename to runtime/syntax/sh.micro diff --git a/syntax_files/sls.micro b/runtime/syntax/sls.micro similarity index 100% rename from syntax_files/sls.micro rename to runtime/syntax/sls.micro diff --git a/syntax_files/sql.micro b/runtime/syntax/sql.micro similarity index 100% rename from syntax_files/sql.micro rename to runtime/syntax/sql.micro diff --git a/syntax_files/swift.micro b/runtime/syntax/swift.micro similarity index 100% rename from syntax_files/swift.micro rename to runtime/syntax/swift.micro diff --git a/syntax_files/systemd.micro b/runtime/syntax/systemd.micro similarity index 100% rename from syntax_files/systemd.micro rename to runtime/syntax/systemd.micro diff --git a/syntax_files/tcl.micro b/runtime/syntax/tcl.micro similarity index 100% rename from syntax_files/tcl.micro rename to runtime/syntax/tcl.micro diff --git a/syntax_files/tex.micro b/runtime/syntax/tex.micro similarity index 100% rename from syntax_files/tex.micro rename to runtime/syntax/tex.micro diff --git a/syntax_files/vala.micro b/runtime/syntax/vala.micro similarity index 100% rename from syntax_files/vala.micro rename to runtime/syntax/vala.micro diff --git a/syntax_files/vi.micro b/runtime/syntax/vi.micro similarity index 100% rename from syntax_files/vi.micro rename to runtime/syntax/vi.micro diff --git a/syntax_files/xml.micro b/runtime/syntax/xml.micro similarity index 100% rename from syntax_files/xml.micro rename to runtime/syntax/xml.micro diff --git a/syntax_files/xresources.micro b/runtime/syntax/xresources.micro similarity index 100% rename from syntax_files/xresources.micro rename to runtime/syntax/xresources.micro diff --git a/syntax_files/yaml.micro b/runtime/syntax/yaml.micro similarity index 100% rename from syntax_files/yaml.micro rename to runtime/syntax/yaml.micro diff --git a/syntax_files/yum.micro b/runtime/syntax/yum.micro similarity index 100% rename from syntax_files/yum.micro rename to runtime/syntax/yum.micro diff --git a/syntax_files/zsh.micro b/runtime/syntax/zsh.micro similarity index 100% rename from syntax_files/zsh.micro rename to runtime/syntax/zsh.micro diff --git a/src/highlighter.go b/src/highlighter.go index 0613f52f..70fcc394 100644 --- a/src/highlighter.go +++ b/src/highlighter.go @@ -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 { diff --git a/src/view.go b/src/view.go index 4d9631b7..3ff15dd3 100644 --- a/src/view.go +++ b/src/view.go @@ -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 { From c721c0bfab081c472ddd9c21a4598244fcfa0603 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 22 Mar 2016 18:29:56 -0400 Subject: [PATCH 2/3] Fix runtime readme and makefile --- Makefile | 2 +- runtime/syntax/README.md | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 1ba35893..8fb0a688 100644 --- a/Makefile +++ b/Makefile @@ -7,4 +7,4 @@ install: syn-files syn-files: mkdir -p ~/.micro/syntax - ./runtime/install.sh + cp -r runtime ~/.micro diff --git a/runtime/syntax/README.md b/runtime/syntax/README.md index ba443f16..5d4b2cb7 100644 --- a/runtime/syntax/README.md +++ b/runtime/syntax/README.md @@ -1,9 +1,12 @@ # Micro syntax highlighting files These are the syntax highlighting files for micro. To install them, just -run `./install.sh` one directory up (`runtime/`) which will simply put all the syntax files in `~/.micro/syntax`. +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: -* Micro does not use `icolor`. Instead, for a case insensitive match, use the case insensitive flag (`(i)`) in the regular expression +* Micro does not use `icolor`. Instead, for a case insensitive match, use the case insensitive flag (`i`) in the regular expression + * For example, `icolor green ".*"` would become `color green (i) ".*"` +* Micro does not support `start="..." end="..."`. Instead use the `s` flag to match newlines and put `.*?` in the middle + * For example `color green start="hello" end="world"` would become `color green (s) "hello.*?world"` From 9328d42defcfbfc8e22febfff6b0a33978dbecaa Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 22 Mar 2016 18:31:34 -0400 Subject: [PATCH 3/3] Move cross-compile.sh to tools --- cross-compile.sh => tools/cross-compile.sh | 2 ++ 1 file changed, 2 insertions(+) rename cross-compile.sh => tools/cross-compile.sh (99%) diff --git a/cross-compile.sh b/tools/cross-compile.sh similarity index 99% rename from cross-compile.sh rename to tools/cross-compile.sh index 0150abc3..10b889f0 100755 --- a/cross-compile.sh +++ b/tools/cross-compile.sh @@ -1,3 +1,5 @@ +cd .. + mkdir -p binaries mkdir -p micro/bin cp -r runtime micro/