mirror of
https://github.com/vale981/tridactyl
synced 2025-03-05 09:31:41 -05:00

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.
68 lines
1.4 KiB
Bash
Executable file
68 lines
1.4 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
CLEANSLATE="node_modules/cleanslate/docs/files/cleanslate.css"
|
|
|
|
isWindowsMinGW() {
|
|
local is_mingw="False"
|
|
if [ "$(uname | cut -c 1-5)" = "MINGW" ] \
|
|
|| [ "$(uname | cut -c 1-4)" = "MSYS" ]; then
|
|
is_mingw="True"
|
|
fi
|
|
|
|
echo -n "${is_mingw}"
|
|
}
|
|
|
|
if [ "$(isWindowsMinGW)" = "True" ]; then
|
|
WIN_PYTHON="py -3"
|
|
NPM_BIN_DIR="$(cygpath $(npm bin))"
|
|
PATH=$NPM_BIN_DIR:$PATH
|
|
else
|
|
PATH="$(npm bin):$PATH"
|
|
fi
|
|
|
|
export PATH
|
|
|
|
mkdir -p build
|
|
mkdir -p build/static
|
|
mkdir -p generated/static
|
|
mkdir -p generated/static/clippy
|
|
|
|
if [ "$(isWindowsMinGW)" = "True" ]; then
|
|
$WIN_PYTHON scripts/excmds_macros.py
|
|
else
|
|
scripts/excmds_macros.py
|
|
fi
|
|
scripts/newtab.md.sh
|
|
scripts/make_tutorial.sh
|
|
scripts/make_docs.sh &
|
|
|
|
$(npm bin)/nearleyc src/grammars/bracketexpr.ne \
|
|
> src/grammars/.bracketexpr.generated.ts
|
|
|
|
if [ "$(isWindowsMinGW)" = "True" ]; then
|
|
powershell \
|
|
-NoProfile \
|
|
-InputFormat None \
|
|
-ExecutionPolicy Bypass \
|
|
native/win_install.ps1 -DebugDirBase native
|
|
else
|
|
native/install.sh local
|
|
fi
|
|
|
|
"$(npm bin)/tsc" compiler/gen_metadata.ts -m commonjs && node compiler/gen_metadata.js --out src/metadata.ts src/*.ts
|
|
|
|
(webpack --display errors-only \
|
|
&& scripts/git_version.sh) &
|
|
|
|
wait
|
|
|
|
scripts/bodgecss.sh
|
|
scripts/authors.sh
|
|
|
|
if [ -e "$CLEANSLATE" ] ; then
|
|
cp -v "$CLEANSLATE" build/static/css/cleanslate.css
|
|
else
|
|
echo "Couldn't find cleanslate.css. Try running 'npm install'"
|
|
fi
|