Go to file
TEC c28e511a8a
Too many symbols attributed to DataFrames
2024-02-17 22:49:37 +08:00
ext Improve 1.11 compat 2024-02-17 22:49:37 +08:00
src Too many symbols attributed to DataFrames 2024-02-17 22:49:37 +08:00
.gitignore Initial commit 2023-09-09 12:16:53 +08:00
Project.toml Refine pkg setup, make work with 1.10 and 1.11 2024-01-27 03:02:13 +08:00
README.org Initial commit 2023-09-09 12:16:53 +08:00

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 when JpegTurbo, Netpbm, PNGFiles, QOI, or TiffImages are loaded
  • Load an appropriate OhMyREPL theme on startup
  • Add pretty colour show methods for Color types