about summary refs log tree commit diff
path: root/pkgs/profpatsch
Commit message (Collapse)AuthorAgeFilesLines
* pkgs/profpatsch/netencode: add a netencode.nix to generate netencodeProfpatsch2020-06-272-0/+51
| | | | | We can define a more or less complete generator in less than 50 lines of nix. Nice.
* pkgs/profpatsch/netencode: actually enable parsing the binary typeProfpatsch2020-06-271-0/+2
|
* pkgs/profpatsch/netencode: add binary typeProfpatsch2020-06-262-3/+47
|
* pkgs/profpatsch/netencode: add support for boolProfpatsch2020-06-223-9/+43
| | | | | Instead of adding a new type, it just uses the 2^1 natural, which has exactly two possibilities.
* pkgs/profpatsch/execline: el-semicolon block parsingProfpatsch2020-06-223-0/+156
|
* pkgs/profpatsch/netencode: add shallow parserProfpatsch2020-06-061-53/+160
| | | | | | | | | | | | | | | The “shallow” parser uses the fact that every netencode value is length-encoded (or a scalar with a fixed length). It does not need to parse the inner values in order to get the structure of the thing. That means that we can implement very fast structure-based operations, like “take the first 5 elements of a list” or “get the record value with the key name `foo`”. We can even do things like intersperse elements into a list of values and write the resulting netencode structure to a socket, without ever needing to copy the data (it’s all length-indexed pointers to bytes).
* pkgs/profpatsch: rename encode to netencodeProfpatsch2020-06-064-9/+9
| | | | | Less generic, has the spirit of “netstrings, but extended to a structured encoding format”.
* pkgs/profpatsch/encode: add list/dict lengths to rust parserProfpatsch2020-06-061-18/+26
|
* pkgs/profpatsch/encode/spec: records and lists have length markersProfpatsch2020-06-061-8/+12
|
* pkgs/profpatsch: export encode-rsProfpatsch2020-06-022-2/+10
|
* pkgs/profpatsch/display-infos: add dottimeProfpatsch2020-06-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://dotti.me/ DOT-TIME(7) TIME FORMATS DOT-TIME(7) NAME dot-time - a universal convention for conveying time DESCRIPTION For those of us who travel often or coordinate across many timezones, working with local time is frequently impractical. ISO8601, in all its wisdom, allows for time zone designators, but still represents the hours and minutes as local time, thus making it inconvenient for quickly comparing timestamps from different locations. Dot time instead uses UTC for all date, hour, and minute indications, and while it allows for time zone designators, they are optional infor‐ mation that can be dropped without changing the indicated time. It uses an alternate hour separator to make it easy to distinguish from regular ISO8601. When a time zone designator is provided, one can easily obtain the matching local time by adding the UTC offset to the UTC time. EXAMPLES These timestamps all represent the same point in time. ┌─────────────────────┬─────────────────────┐ │ dot time │ ISO8601 │ ├─────────────────────┼─────────────────────┤ │ 2019-06-19T22·13-04 │ 2019-06-19T18:13-04 │ ├─────────────────────┼─────────────────────┤ │ 2019-06-19T22·13+00 │ 2019-06-19T22:13+00 │ ├─────────────────────┼─────────────────────┤ │ 2019-06-19T22·13+02 │ 2019-06-20T00:13+02 │ └─────────────────────┴─────────────────────┘ 2019-06-19 DOT-TIME(7)
* pkgs/profpatsch: add binify helperProfpatsch2020-06-021-1/+15
|
* pkgs/profpatsch: writeRustSimple, wrapper around buildRustCrateProfpatsch2020-06-022-0/+49
|
* pkgs/profpatsch/encode: add function for printing T valuesProfpatsch2020-06-021-1/+52
|
* pkgs/profpatsch/encode: put parser in submoduleProfpatsch2020-06-022-284/+282
|
* pkgs/profpatsch/encode: initial rust parserProfpatsch2020-06-022-0/+381
| | | | Uses the nom parsing combinator library.
* pkgs/profpatsch/encode: listify spec examplesProfpatsch2020-06-021-21/+21
|
* pkgs/profpatsch/encode: change number format and defined recordsProfpatsch2020-06-021-19/+26
| | | | | | | | | Change the number format to be more concise, working in steps of 2^n, going from 2^1 (1 bit) to 2^9 (512 bits), though implementations are free to define the biggest numbers they want to support. Records get the marker `{` and are closed by `}`, so parens match up nicely, similar to lists.
* pkgs/profpatsch: alpha-grade encode specProfpatsch2020-06-011-0/+81
|
* pkgs/profpatsch/xdg-open: make possible to parse protocolsProfpatsch2020-05-112-60/+101
| | | | | | | | This is now on par with the original script in https://github.com/Profpatsch/dotfiles/blob/a25c6c419525bef7ef5985f664b058dc9eb919e9/scripts/scripts/xdg-open Eventually it should probably migrate away from a generated bash script, but for now it’s fine.
* pkgs/profpatsch/dhall-flycheck: update to dhall 1.31.0Profpatsch2020-05-111-2/+3
|
* pkgs/profpatsch/xdg-open: implement special commandsProfpatsch2020-05-103-30/+73
|
* pkgs/profpatsch: add xdg-open, WIPProfpatsch2020-05-0912-0/+322
|
* pkgs/profpatsch: add importDhall/importDhall2/readDhallFileAsJsonProfpatsch2020-05-092-0/+68
| | | | | | Like a normal `import`, but for dhall files. `importDhall2` can additionally handle dependencies and additional source files, though the interface is not stable yet.
* pkgs/profpatsch: add exactSourceProfpatsch2020-05-092-0/+86
|
* pkgs/profpatsch: update dhall-flycheckProfpatsch2020-05-091-4/+5
|
* pkgs/profpatsch: update easy-dhall-nix, add dhall-jsonProfpatsch2020-05-091-2/+3
|
* pkgs/profpatsch: add buildDhallPackageProfpatsch2020-05-092-0/+71
|
* pkgs/profpatsch: bump utils-hsProfpatsch2020-04-041-2/+2
|
* machines/shiki: add zoomboxedProfpatsch2020-03-261-3/+1
| | | | Filesystem sandbox around zoom-us.
* Mostly implement nice completion for dhallProfpatsch2020-02-249-126/+235
| | | | | A few bugs are still remainaing, but it can recognize when files should be completed for example.
* completion: move to Completion module & factor out typesProfpatsch2020-02-243-23/+22
|
* completion.dhall: add completion options for dhall command lineProfpatsch2020-02-241-0/+134
|
* main: factor out basic fish completion commandsProfpatsch2020-02-244-149/+176
|
* `abc foo --bar` can be completedProfpatsch2020-02-241-2/+23
|
* First working fish subcommand completion.Profpatsch2020-02-243-42/+94
|
* Add dhall-to-shell script (to convert (List (List Text)) to sh)Profpatsch2020-02-241-0/+6
|
* Init: basic command line abstraction for fish’s completeProfpatsch2020-02-2410-0/+172
|
* pkgs/profpatsch: Fix eval error for dhall-flycheckaszlig2020-02-101-1/+1
| | | | | | | | | | | | | | | The haskellPackages attribute is actually part of the package scope inside pkgs.profpatsch and thus the evaluation fails with the following error: attribute 'vuizvui' missing, at .../pkgs/profpatsch/default.nix:176:20 Referencing the attribute directly from within the recursive attribute set fixes the evaluation error and building dhall-flycheck also succeeds. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* pkgs/profpatsch: add dhall-flycheckProfpatsch2020-02-101-0/+8
|
* pkgs/profpatsch: add dhall from easy-dhall-nixProfpatsch2020-02-101-0/+10
| | | | | It’s the easiest way to get recent statically compiled dhall executables.
* pkgs/profpatsch/execline/e: better promptProfpatsch2020-01-261-12/+14
| | | | | | rlwrap has to do magic recognition, which breaks in most cases. We can just print a prompt before the first and after each consecutive command. Seems to work wonderfully.
* pkgs/profpatsch/execline/e: add prompt colorProfpatsch2020-01-261-0/+2
|
* pkgs/profpatsch/execline/e: fix buffering problemProfpatsch2020-01-261-3/+0
| | | | Forgot the cat after I added forstdin.
* pkgs/profpatsch/execline/e: fix line splittingProfpatsch2020-01-261-6/+6
|
* pkgs/profpatsch/execline: add eProfpatsch2020-01-262-0/+25
|
* pkgs/profpatsch/execline: add runblockProfpatsch2020-01-262-0/+71
|
* pkgs/profpatsch/write-execline: add all argparsing commandsProfpatsch2020-01-261-2/+20
| | | | | | In some cases (especially with `runblock`), the arguments need to be accessible as environment variables, so we need a way to pass that to execline.
* machines/profpatsch/shiki: use dhall from binary releaseProfpatsch2020-01-261-11/+0
| | | | | | | | | The hackage (and thus nixpkgs) version is sadly very much outdated. Luckily, Justin Woo provides the statically linked binaries from the upstream project. This won’t work for patches or using the library, but at the moment it’s okay.
* pkgs/profpatsch/warpspeed: 1.0 -> 1.1Profpatsch2020-01-261-5/+31
| | | | | | - Add argument for which host to bind against. - Add argument to specify where the root address should be redirected to (if at all)