This commit makes sure typescript targets es2016 when compiling
gen_metadata.ts and than when generating metadata, only the necessary
files are parsed (src/excmds.ts and src/config.ts for now). This
slightly improves build time.
This implements excmd completion. We're using the typescript compiler
API in order to get the documentation and the type of every function of
Tridactyl and generate a file named "src/metadata.ts" which contains
this information. Since this file is dependency-less it can be imported
from every source file.
We then write a regular completion source which just uses the data
contained in metadata.ts in order to generate its completions.
When trying to run scripts/pretty with multiple ugly files staged, the
for loop would treat two space-separated file names as a single file
name. This prevented pretty from working on my machine.
I fixed this issue by making cachedJS() (renamed to cachedFiles since it
returns more than js files) return file names as a newline-separated
list and using IFS=$'\n' to split the filenames on this character.
On a vanilla invocation, `wine-pyinstaller.sh` will prepare a
Python-3.5 environment under Wine-3. The current requirements to run
the script are following:
1. p7zip-16.xx
2. Wine-3.xx
3. WinPython-3.5.4
All of [1-3] are available in Debian Testing or Ubuntu Bionic
repositories.
P.S.
WinPython was used since official Python-3.5.4 from Python.org wont
run under Wine. Python-3.6 is not supported yet under Wine-3.xx.
A default `npm run build` or a `scripts/build.sh` invocation would
not compile or sign `native_main.exe` anymore. This is a departure
from the previous logic where `PYINSTALLER=0` was needed to prevent
compile+signing of `native_main.exe`.
The following is achieved with this commit:
```
$ ## following does _not_ compile/sign `native_main.exe`
$ npm run build
$ PYINSTALLER=0 npm run build
$ ## following _does_ compile/sign `native_main.exe`
$ PYINSTALLER=1 npm run build
```