alpha
Login
or
Join now
patrick.sirref.org
/
shelter
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
cshell -> shelter
author
Patrick Ferris
date
1 year ago
(Apr 3, 2025, 12:32 PM +0100)
commit
8f8f89cc
8f8f89ccce6b80b04b62454b06f4c54a1ce17f8b
parent
0812102c
0812102c1cde06dacb31f60714d6e3d279b136be
+47
-37
14 changed files
Expand all
Collapse all
Unified
Split
README.md
dune-project
shelter.opam
src
bin
dune
main.ml
lib
dune
passthrough
cshell_passthrough.mli
dune
shelter_passthrough.ml
shelter_passthrough.mli
shelter
dune
shelter_main.ml
shelter_main.mli
shelter.ml
+1
README.md
Reviewed
···
1
1
shelter
2
2
-------
3
3
4
4
+
A shell session shim that makes exploring from the terminal a little bit easier.
4
5
+11
-7
cshell.opam
shelter.opam
Reviewed
···
1
1
# This file is generated by dune, edit dune-project instead
2
2
opam-version: "2.0"
3
3
-
synopsis: "A short synopsis"
4
4
-
description: "A longer description"
5
5
-
maintainer: ["Maintainer Name <maintainer@example.com>"]
6
6
-
authors: ["Author Name <author@example.com>"]
7
7
-
license: "LICENSE"
8
8
-
tags: ["add topics" "to describe" "your" "project"]
3
3
+
synopsis: "Shelter from the Storm"
4
4
+
description: "A shell session shim to help you explore!"
5
5
+
maintainer: ["Patrick Ferris <patrick@sirref.org>"]
6
6
+
authors: ["Patrick Ferris <patrick@sirref.org>"]
7
7
+
license: "ISC"
8
8
+
tags: ["shell"]
9
9
homepage: "https://github.com/username/reponame"
10
10
-
doc: "https://url/to/documentation"
11
10
bug-reports: "https://github.com/username/reponame/issues"
12
11
depends: [
13
12
"dune" {>= "3.17"}
14
13
"ocaml"
14
14
+
"eio_posix"
15
15
+
"void"
16
16
+
"zfs"
17
17
+
"cid"
18
18
+
"ppx_repr"
15
19
"odoc" {with-doc}
16
20
]
17
21
build: [
+16
-11
dune-project
Reviewed
···
1
1
(lang dune 3.17)
2
2
3
3
-
(name cshell)
3
3
+
(name shelter)
4
4
5
5
(generate_opam_files true)
6
6
7
7
(source
8
8
(github username/reponame))
9
9
10
10
-
(authors "Author Name <author@example.com>")
10
10
+
(authors "Patrick Ferris <patrick@sirref.org>")
11
11
12
12
-
(maintainers "Maintainer Name <maintainer@example.com>")
12
12
+
(maintainers "Patrick Ferris <patrick@sirref.org>")
13
13
14
14
-
(license LICENSE)
14
14
+
(license ISC)
15
15
16
16
-
(documentation https://url/to/documentation)
17
16
18
17
(package
19
19
-
(name cshell)
20
20
-
(synopsis "A short synopsis")
21
21
-
(description "A longer description")
22
22
-
(depends ocaml)
18
18
+
(name shelter)
19
19
+
(synopsis "Shelter from the Storm")
20
20
+
(description "A shell session shim to help you explore!")
21
21
+
(depends
22
22
+
ocaml
23
23
+
eio_posix
24
24
+
void
25
25
+
zfs
26
26
+
cid
27
27
+
ppx_repr
28
28
+
)
23
29
(tags
24
24
-
("add topics" "to describe" your project)))
30
30
+
("shell")))
25
31
26
26
-
; See the complete stanza docs at https://dune.readthedocs.io/en/stable/reference/dune-project/index.html
+3
-3
src/bin/dune
Reviewed
···
1
1
(executable
2
2
-
(public_name cshell)
3
3
-
(package cshell)
2
2
+
(public_name shelter)
3
3
+
(package shelter)
4
4
(name main)
5
5
-
(libraries cshell fmt.tty cshell.shelter cshell.passthrough eio void))
5
5
+
(libraries shelter fmt.tty shelter.main shelter.passthrough eio void))
+2
-2
src/bin/main.ml
Reviewed
···
5
5
let merge = Irmin.Merge.default (Repr.option t)
6
6
end
7
7
8
8
-
module Pass = Cshell.Make (History) (Cshell_passthrough)
9
9
-
module Shelter = Cshell.Make (Shelter.History) (Shelter)
8
8
+
module Pass = Shelter.Make (History) (Shelter_passthrough)
9
9
+
module Shelter = Shelter.Make (Shelter_main.History) (Shelter_main)
10
10
11
11
let home = Unix.getenv "HOME"
12
12
src/lib/cshell.ml
src/lib/shelter.ml
Reviewed
+2
-2
src/lib/dune
Reviewed
···
1
1
(library
2
2
-
(name cshell)
3
3
-
(public_name cshell)
2
2
+
(name shelter)
3
3
+
(public_name shelter)
4
4
(libraries irmin-fs.unix eio.unix eio linenoise void repr))
+3
-3
src/lib/passthrough/cshell_passthrough.ml
src/lib/passthrough/shelter_passthrough.ml
Reviewed
···
18
18
19
19
type ctx = unit
20
20
21
21
-
let init _ _ (Cshell.History.Store ((module S), store) : entry Cshell.History.t)
22
22
-
=
21
21
+
let init _ _
22
22
+
(Shelter.History.Store ((module S), store) : entry Shelter.History.t) =
23
23
match S.list store history_key with
24
24
| [] -> ()
25
25
| xs ->
···
34
34
List.iter (fun v -> LNoise.history_add v |> ignore) entries
35
35
36
36
let run _fs clock proc
37
37
-
( ((Cshell.History.Store ((module S), store) : entry Cshell.History.t) as
37
37
+
( ((Shelter.History.Store ((module S), store) : entry Shelter.History.t) as
38
38
full_store),
39
39
() ) (Exec command) =
40
40
let info () =
-1
src/lib/passthrough/cshell_passthrough.mli
Reviewed
···
1
1
-
include Cshell.Engine.S with type entry = string
+3
-3
src/lib/passthrough/dune
Reviewed
···
1
1
(library
2
2
-
(name cshell_passthrough)
3
3
-
(public_name cshell.passthrough)
2
2
+
(name shelter_passthrough)
3
3
+
(public_name shelter.passthrough)
4
4
(preprocess
5
5
(pps ppx_repr))
6
6
-
(libraries cshell))
6
6
+
(libraries shelter))
+1
src/lib/passthrough/shelter_passthrough.mli
Reviewed
···
1
1
+
include Shelter.Engine.S with type entry = string
+3
-3
src/lib/shelter/dune
Reviewed
···
1
1
(library
2
2
-
(name shelter)
3
3
-
(public_name cshell.shelter)
2
2
+
(name shelter_main)
3
3
+
(public_name shelter.main)
4
4
(preprocess
5
5
(pps ppx_repr))
6
6
-
(libraries cshell cid void zfs))
6
6
+
(libraries shelter cid void zfs))
+1
-1
src/lib/shelter/shelter.ml
src/lib/shelter/shelter_main.ml
Reviewed
···
1
1
open Eio
2
2
module Store = Store
3
3
-
module H = Cshell.History
3
3
+
module H = Shelter.History
4
4
5
5
module History = struct
6
6
type mode = Void.mode
+1
-1
src/lib/shelter/shelter.mli
src/lib/shelter/shelter_main.mli
Reviewed
···
13
13
include Irmin.Contents.S with type t := t
14
14
end
15
15
16
16
-
include Cshell.Engine.S with type entry = History.t
16
16
+
include Shelter.Engine.S with type entry = History.t