|
||
---|---|---|
ext | ||
src | ||
.gitignore | ||
Project.toml | ||
README.org |
README.org
Setup.jl
This is my personal Julia configuration. It has grown far beyond my wildest imagination.
Installation
julia --startup-file=no -e 'using Pkg; Pkg.add(url="https://git.tecosaur.net/tec/Setup.jl.git"); using Setup; Setup.install()'
Features
Autoloading
Instead of loading packages whose functionality might be needed at some point, load them on-demand. Lazy loading for the win!
The following packages are currently supported:
- The standard library (
Base64
,CRC32c
,Dates
,Distributions
,Downloads
,LinearAlgebra
,Markdown
,Mmap
,Pkg
,Printf
,REPL
,Random
,SHA
,Serialisation
,Statistics
,StatsBase
,TOML
,Tar
,Test
,Threads
,UUIDs
) BaseDirs
BenchmarkTools
CSV
Cthulhu
DataFrames
DataToolkit
Debugger
Distributions
JET
JSON3
Org
WhyNotEqual
Function/Structure inspection
Get a sense of a function or structure with the about
function/macro.
Environment tweaks
Shorter activation
Add a
as a shorthand for activate
Easier temp environments
Add -t
as a shorthand for --temp
, with the activate change this means opening a
temporary environment is now a bit quicker:
pkg> a -t
instead of
pkg> activate --temp
Environment stack
Load and unload named environments with the new pkg> (un)stack
set of commands.
Command puns
For more easily running ~Cmd~s, we now have the following syntactic puns.
~ `cmd` # read to string
! `cmd` # print output
!~ `cmd` # read and print output
`a` | `b` # pipe commands
Package configuration
Thanks to package extensions, it's fairly straightforward to bundle per-package customisation code. Currently this covers the following:
- Setting the Makie theme based on the terminal colours when loading
CairoMakie
- Pushing the
Gadfly
display - Changing the
HDF5
icons - Loading
ImageShow
whenJpegTurbo
,Netpbm
,PNGFiles
,QOI
, orTiffImages
are loaded - Load an appropriate
OhMyREPL
theme on startup - Add pretty colour show methods for
Color
types