You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After installation, edits to the scripts and grammars in the source directory don't effect the installed version of Synless. (If they do, it will make development harder once we're using Synless to develop Synless.)
It's easy for users.
It's easy for us.
You can uninstall Synless to remove the binary, scripts, and grammars.
It's cross platform and cross architecture.
Possible Approaches
Pre-compiled binaries. Great on all fronts except (4): it's a lot of busywork for us. Though not as bad as I originally feared; e.g. see https://github.com/kornelski/cargo-deb#readme for how easy it is to make a Debian package.
Install with cargo install --path . --locked. To access the scripts and grammars after installation, they need to be copied to a standard place (e.g. XDG_DATA_HOME) during build time. This can be done in build.rs, but is against the spec to do so. Nevertheless, it is what Ki does (see runtime_dir()). Fails (5) and is morally wrong.
Use an env var. Have users set an environment variable during installation, pointing at the source directory to find scripts and grammars. Fails (2), and (3) a little bit.
Use an env var, and copy data files into target/. Like the above, but also copy scripts and grammars into target/ when building. Fails (3) a little bit, otherwise good.
Use a Makefile. Fails (4) if done well, and some combination of (3) and (6) because Makefiles aren't windows native.
The text was updated successfully, but these errors were encountered:
Goals for Installation
synless
from any directory.Possible Approaches
cargo install --path . --locked
. To access the scripts and grammars after installation, they need to be copied to a standard place (e.g.XDG_DATA_HOME
) during build time. This can be done inbuild.rs
, but is against the spec to do so. Nevertheless, it is what Ki does (seeruntime_dir()
). Fails (5) and is morally wrong.target/
. Like the above, but also copy scripts and grammars into target/ when building. Fails (3) a little bit, otherwise good.The text was updated successfully, but these errors were encountered: