https://github.com/tkf/juliacli.jl
https://github.com/tkf/juliacli.jl
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tkf/juliacli.jl
- Owner: tkf
- License: mit
- Created: 2019-11-10T03:03:06.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-18T22:39:21.000Z (about 5 years ago)
- Last Synced: 2025-04-14T06:49:49.679Z (9 months ago)
- Language: Julia
- Size: 29.3 KB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JuliaCLI: Command line interface framework for Julia without JIT-compilation overhead
[](https://tkf.github.io/JuliaCLI.jl/stable)
[](https://tkf.github.io/JuliaCLI.jl/dev)
[](https://travis-ci.com/tkf/JuliaCLI.jl)
[](https://codecov.io/gh/tkf/JuliaCLI.jl)
[](https://coveralls.io/github/tkf/JuliaCLI.jl?branch=master)
Note: JuliaCLI does not work on Windows at the moment.
## Installation
```julia
(1.x) pkg> add https://github.com/tkf/JSONRPC.jl
(1.x) pkg> dev https://github.com/tkf/JuliaCLI.jl
```
(Note: I use `dev` for JuliaCLI.jl so that `jlcli` script would be at
the stable location.)
```console
$ ln -s ~/.julia/dev/JuliaCLI/jlcli/jlcli.py ~/bin/jlcli
```
In the above command, I'm assuming `~/bin` is in `$PATH`.
## Run CLI backend server
```console
$ cd ~/.julia/dev/JuliaCLI/scripts
$ ./serve.jl
```
Use `JULIA_CLI_REVISE=true ./serve.jl` instead if you want to reload
updates in the CLI worker processes (recommended).
## Example: instantaneous REPL
```console
$ jlcli --usemain --eval 'Base.run_main_repl(true, false, true, true, false)'
```
First run takes some time. But if you exit once and re-run the same
command, it is instantaneous.
## Example: `jlfmt`
[`jlfmt`](https://github.com/tkf/jlfmt) is a command-line interface to
[JuliaFormatter.jl](https://github.com/domluna/JuliaFormatter.jl).
```julia
(1.x) pkg> dev https://github.com/tkf/jlfmt
```
```console
$ ln -s ~/.julia/dev/jlfmt/bin/jlfmt ~/bin
$ jlfmt --help # first run takes some time
```