Commit graph

100 commits

Author SHA1 Message Date
Soonho Kong
8c1cd92add fix(bin/linja.in): recursively find all files in a pattern endswith /
Example: If you have an entry in .project file such as

    - theories/

It will remove all files under 'theories' directory from the project

related issue: leanprover/lean.js#3
2015-07-29 16:44:56 -07:00
Leonardo de Moura
a8f8e7116b feat(bin): add auxiliary scripts that allow us to test lean-emacs mode in the build directory (i.e., without installing Lean) 2015-07-20 16:10:30 -07:00
Soonho Kong
4a03570bf5 fix(bin/linja): reset the output encoding to utf-8 globally
fix #598
2015-05-14 00:44:07 -04:00
Soonho Kong
e6db3ce584 fix(bin/leantags): remove '\r' in ilean input
fix #591
2015-05-10 06:53:26 -04:00
Soonho Kong
5e05a25a5d fix(bin/linja): replace windows newline '\r\n' to unix newline '\n'
This should be handled by Python. However, when we use mingw-python
which acts like Unix Python with Native Windows Emacs, we have a problem
because mingw-python do not handle '\r'. This patch manually replace
'\r\n' with '\n' to solve the problem.

close #573
2015-05-04 05:39:54 -04:00
Soonho Kong
69f3f65ec9 fix(bin/linja): decode communicated result if not None 2015-05-04 04:35:42 -04:00
Sebastian Ullrich
24b00c3a73 fix(bin/linja): don't double-decode Popen output
After 8ca3ee48, `text` is always a `str` instance, which provokes an `AttributeError` in Python 3.
2015-05-03 06:13:38 -04:00
Soonho Kong
fa33f706f8 fix(bin/linja): indentation
close #515
2015-04-04 13:31:35 -04:00
Soonho Kong
8ca3ee4851 fix(bin/linja): decode the results from subprocess.Popen
http://stackoverflow.com/questions/606191/convert-bytes-to-a-python-string

fix #515
2015-04-04 13:30:10 -04:00
Soonho Kong
47c0ae5914 fix(bin/linja): download ninja to a temporary directory
Assume that we have two linja processes running on a system where there
is no ninja installed. Then, the first linja process downloads ninja
from github. If the internet is slow, the second linja process can pick
up the incomplete ninja binary and execute it, which causes an
exception (i.e. "Malformed Mach-o file" error on OSX). An example build
trace is at

    https://s3.amazonaws.com/archive.travis-ci.org/jobs/56366771/log.txt

This commit fixes the problem by downloading ninja to a temporary
directory and copy it to "lean/bin/ninja" when it's completed.
2015-03-30 01:20:24 -04:00
Soonho Kong
93a3ef1447 fix(bin/linja): escape ' ' in depfiles differently
' ' ==> '\\ ' in .d files

fix #515
2015-03-28 22:38:13 -04:00
Soonho Kong
f72f4cf441 fix(bin/linja): add '$' and ' ' cases to escape_ninja_char
This is related to #513
2015-03-28 22:38:13 -04:00
Soonho Kong
0cda3f7cbf fix(bin/linja): only strip flycheck message in linja
Removing empty lines for FlyCheck messages was added by
4266b8c7a3. We had somecases where
Flycheck messages start with an empty line instead of `FLYCHECK_BEGIN
ERROR` in Windows7 + Python2 env. I think it's because of the different
newline character problem (LF, LFCR). My solution was to remove all
empty lines, which was too much. Now, I think striping should be enoguh.

fix #512
2015-03-28 07:56:32 -04:00
Soonho Kong
d39478a028 fix(bin/linja): catch exception when parsing FlycheckItem
fix #452
2015-03-25 13:53:53 -04:00
Soonho Kong
d950338980 fix(bin/linja): which does not look for 'sbin'
Ubuntu-12/14 has two packages which provide a binary file `ninja`:

 1. ninja : http://forkbomb.org/ninja/
 2. ninja-build : http://martine.github.io/ninja/

We had a case where a user has ninja installed instead of ninja-build,
then linja confuses that it has ninja-build and tries to use it.

This commit excludes a directory whose name includes "sbin" in finding a
system program. As a result, `which` will not find ninja[1] which
resides at /usr/sbin.
2015-03-24 11:13:14 -04:00
Soonho Kong
4266b8c7a3 fix(bin/linja.in): filter empty lines at FlycheckItem.fromString
Found this bug while helping Andrew Zipperer. It happened in Windows7/8 + Python 2.7
2015-03-04 16:41:42 -05:00
Leonardo de Moura
c3e7b1f817 fix(bin/linja.in): problems on Python 3.4 for Windows 2015-02-09 18:25:31 -08:00
Leonardo de Moura
daa9bb70b7 fix(bin/linja): bug that only happens when uisng linja on Windows 2015-02-09 16:42:34 -08:00
Soonho Kong
ca16381892 feat(bin): add linja.in and LEAN_BIN_DEP cmake option
see the discussion in issue #422
2015-02-04 15:46:08 -08:00
Leonardo de Moura
87570740e2 feat(bin/leanemacs): allow user to provide arguments (e.g., .lean files) to leanemacs script 2015-01-31 17:41:50 -08:00
Leonardo de Moura
70d62245a6 feat(bin): add script for testing leanemacs without installing Lean 2015-01-31 17:35:20 -08:00
Leonardo de Moura
6456c2b89a feat(CMakeLists.txt): add leanemacs.bat for Windows
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-01-30 14:16:57 -08:00
Leonardo de Moura
2c926478dd feat(bin): add leanemacs startup script 2015-01-30 13:05:30 -08:00
b643063955 fix(bin/linja): upstream script updated 2015-01-23 17:04:53 -08:00
124ebda58c fix(bin/linja): return the new klass
Closes #406.
2015-01-23 13:17:45 -05:00
Soonho Kong
971b602773 fix(bin/linja): prefer local tools over system-wide ones
Close #396

Related issue: #394
2015-01-23 07:16:44 -05:00
b66b3a6c58 refactor(six.py): remove six.py 2015-01-22 13:05:56 -08:00
20c8bcd3fc fix(bin/linja): python3 compatible without six.py 2015-01-22 13:05:56 -08:00
Leonardo de Moura
12674114a4 feat(shell): set default behavior to "trusted"
closes #402
2015-01-21 16:25:09 -08:00
Soonho Kong
69af6df69d refactor(bin/python_lib): move six.py under bin/python_lib
Following @favonia's suggestion in #393
2015-01-21 17:31:26 -05:00
Soonho Kong
a8f3dcb395 feat(bin/six.py): add six 1.9.0 (Python 2 and 3 compatibility utilities) 2015-01-21 17:13:56 -05:00
073c1d1c31 feat(python): add python 3 compatibility
Add Python 3 compatibility through python-six library.

Closes #393.
2015-01-21 17:13:55 -05:00
Soonho Kong
901c9bf67a refactor: rename ltags => leantags
fix #394
2015-01-18 13:44:41 +09:00
Leonardo de Moura
84715c12eb feat(linja): add '-M' and '-T' options to linja 2015-01-15 16:54:55 -08:00
Soonho Kong
6903118900 fix(bin/ltags): open .ilean files with UTF-8 encoding
fix #376
2014-12-15 12:01:22 -05:00
Leonardo de Moura
2306c14337 fix(ltags): support .hlean files 2014-12-05 16:26:05 -08:00
Leonardo de Moura
0034ad9b34 feat(build): add HoTT library to build 2014-12-05 14:38:45 -08:00
Leonardo de Moura
71e1555eb4 feat(emacs): use lean-mode for .hlean 2014-12-05 14:33:22 -08:00
Leonardo de Moura
3adf5ce1e1 fix(linja): incorrect output when maximum number of errors/warnings was reached, fixes #352 2014-11-28 15:21:56 -08:00
Leonardo de Moura
44a2ef8f6f fix(frontends/lean/parser_config): binder(s) rbp was not being saved in .olean file 2014-11-23 17:49:14 -08:00
Soonho Kong
33be645122 chore(bin/lmake): remove 2014-11-04 18:16:04 -05:00
Leonardo de Moura
bb953b80aa feat(frontends/lean): reserve notation, closes #95 2014-10-21 15:39:47 -07:00
Soonho Kong
5c1d23d944 feat(bin/linja): remove redundant flycheck item starting with "failed to add declaration"
Close #247
2014-10-15 17:05:27 -07:00
Soonho Kong
c92260d9ec feat(bin/linja): add --discard and --to_axiom options 2014-10-14 18:59:14 -07:00
Leonardo de Moura
8aa60cbc1c chore(version): bump universe level to force .olean recompilation 2014-10-13 18:36:39 -07:00
Soonho Kong
cfa9cd116c feat(bin/linja): add --keep-going N option
Related issue: #234
2014-10-08 10:23:41 -07:00
Soonho Kong
4a119a0424 fix(bin/ltags): add option --relative to handle path relatively
Fix #230
2014-10-07 15:07:28 -07:00
Soonho Kong
fc82857dc1 fix(bin): use "python" instead of "python2" or "python2.7" 2014-10-07 13:24:12 -07:00
Soonho Kong
14472b20eb fix(bin/linja): add 'all' to phony target; allow multiple phony targets 2014-10-07 12:30:38 -07:00
Soonho Kong
b2c8e7d364 feat(bin/linja): delete MSYSTEM env variable on Windows 2014-10-03 17:30:29 -07:00