Skip to content

Commit 24a59e4

Browse files
committed
Worked on another banner and enabled it.
1 parent 210e78c commit 24a59e4

File tree

7 files changed

+104
-12
lines changed

7 files changed

+104
-12
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ $ rebar3 as test lfe ltest
5656

5757
## Usage [↟](#table-of-contents)
5858

59-
TBD
59+
Assuming you've following the above steps, start up xrepl with the following:
60+
61+
``` shell
62+
$ rebar3 lfe xrepl
63+
```
6064

6165
## License [↟](#table-of-contents)
6266

priv/banners/v2.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{{dbl}}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM{{end}}
2+
{{dbl}}MM""MMMMMMMM MM""""""""`M MM""""""""`MM{{end}}{{gry}} dP{{end}}
3+
{{dbl}}MM MMMMMMMM MM mmmmmmmM MM mmmmmmmMM{{end}}{{gry}} 88{{end}}
4+
{{blu}}MM MMMMMMMM M' MMMM M` MMMMM{{end}}{{gry}} dP. .dP 88d888b. .d8888b. 88d888b. 88{{end}}
5+
{{blu}}MM MMMMMMMM MM MMMMMMMM MM MMMMMMMMM{{end}}{{gry}} `8bd8' 88' `88 88ooood8 88' `88 88{{end}}
6+
{{gld}}MM MMMMMMMM MM MMMMMMMM MM MMMMMMMMM{{end}}{{gry}} .d88b. 88 88. ... 88. .88 88{{end}}
7+
{{pnk}}MM M MM MMMMMMMM MM .MM{{end}}{{gry}} dP' `dP dP `88888P' 88Y888P' dP{{end}}
8+
{{red}}MMMMMMMMMMMM MMMMMMMMMMMM MMMMMMMMMMMMM{{end}}{{gry}} 88 {{end}}
9+
{{gry}} dP{{end}}
10+
{{bgn}}xrepl{{end}}: {{grn}}{{xrepl-version}} {{cyn}}http://github.com/lfe/xrepl{{end}}
11+
{{bgn}}LFE{{end}}: {{grn}}{{lfe-version}} {{gld}}Get usage info with {{ylw}}(help){{end}}
12+
{{bgn}}Erlang{{end}}: {{grn}}{{erlang-version}} {{gld}}Exit xrepl with {{ylw}}(quit){{end}}
13+

rebar.config

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
{erl_opts, [debug_info]}.
1+
{erl_opts, [debug_info, {no_auto_import, [{get,1}]}]}.
22

33
{deps, [
44
{lfe, "2.1.3"},
5-
{erlang_color, "1.0.0"}
5+
{erlang_color, "1.0.0"},
6+
{bbmustache, "1.12.2"}
67
]}.
78

89
{plugins, [

rebar.lock

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
{"1.2.0",
2-
[{<<"erlang_color">>,{pkg,<<"erlang_color">>,<<"1.0.0">>},0},
2+
[{<<"bbmustache">>,{pkg,<<"bbmustache">>,<<"1.12.2">>},0},
3+
{<<"erlang_color">>,{pkg,<<"erlang_color">>,<<"1.0.0">>},0},
34
{<<"lfe">>,{pkg,<<"lfe">>,<<"2.1.3">>},0}]}.
45
[
56
{pkg_hash,[
7+
{<<"bbmustache">>, <<"0CABDCE0DB9FE6D3318131174B9F2B351328A4C0AFBEB3E6E99BB0E02E9B621D">>},
68
{<<"erlang_color">>, <<"145FE1D2E65C4516E4F03FEFCA6C2F47EBAD5899D978D70382A5CFE643E4AC9E">>},
79
{<<"lfe">>, <<"6EFCB2BBC1FFC21DC5D1C092F00EFDB397EAC889474AC5C86EDF78A3557CC730">>}]},
810
{pkg_hash_ext,[
11+
{<<"bbmustache">>, <<"688B33A4D5CC2D51F575ADF0B3683FC40A38314A2F150906EDCFC77F5B577B3B">>},
912
{<<"erlang_color">>, <<"6B17E5E589C8FEF540574C9EA32B67CEC2C8A44283AAFE474D6E5818FB3EE038">>},
1013
{<<"lfe">>, <<"4E4BAD515A169AE418FEB7374EA1C8D741FAEA9D95E266CE343B45BCC377F55B">>}]}
1114
].

src/lfe_xrepl.erl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
%% store the current environment when we 'slurp' a file which we can
2525
%% revert back to when we do an 'unslurp'.
2626

27-
-module(lfe_shell).
27+
-module(lfe_xrepl).
2828

2929
-export([start/0,start/1,server/0,server/1,
3030
run_script/2,run_script/3,
@@ -42,8 +42,8 @@
4242
-import(orddict, [store/3,find/2]).
4343
-import(lists, [reverse/1,foreach/2]).
4444

45-
-include("lfe.hrl").
46-
-include("lfe_docs.hrl").
45+
-include_lib("lfe/src/lfe.hrl").
46+
-include_lib("lfe/src/lfe_docs.hrl").
4747

4848
%% Coloured strings for the LFE banner, red, green, yellow and blue.
4949
-define(RED(Str), "\e[31m" ++ Str ++ "\e[0m").

src/xrepl-vsn.lfe

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
(defmodule xrepl-vsn
2+
(export
3+
(get 0) (get 1)
4+
(all 0)))
5+
6+
(defun get ()
7+
(get 'xrepl))
8+
9+
(defun get (app-name)
10+
(application:load app-name)
11+
(case (application:get_key app-name 'vsn)
12+
(`#(ok ,vsn) vsn)
13+
(default default)))
14+
15+
(defun version-arch ()
16+
`#(architecture ,(erlang:system_info 'system_architecture)))
17+
18+
(defun version+name (app-name)
19+
`#(,app-name ,(get app-name)))
20+
21+
(defun versions-rebar ()
22+
`(,(version+name 'rebar)
23+
,(version+name 'rebar3_lfe)))
24+
25+
(defun versions-langs ()
26+
`(,(version+name 'lfe)
27+
#(erlang ,(erlang:system_info 'otp_release))
28+
#(emulator ,(erlang:system_info 'version))
29+
#(driver ,(erlang:system_info 'driver_version))))
30+
31+
(defun all ()
32+
(lists:append `((,(version+name 'xrepl))
33+
,(versions-langs)
34+
,(versions-rebar)
35+
(,(version-arch)))))

src/xrepl.lfe

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,52 @@
7474
`#(ok ,state))
7575

7676
;;; --------------
77-
;;; our server API
77+
;;; xrepl API
7878
;;; --------------
7979

80-
(defun start ()
81-
(let ((ok (io:put_chars (erlang:whereis 'user)
82-
"YAAAAAAAAAAAAAAAAAYYYYYYYYYYYYYYY!!!!!\n\n"))))
83-
(lfe_shell:start))
80+
(defun default-opts ()
81+
`#m(banner? true))
82+
83+
(defun start()
84+
(start #m()))
85+
86+
(defun start (opts)
87+
(let* ((opts (maps:merge (default-opts) opts))
88+
(banner? (mref opts 'banner?)))
89+
(if banner? (write (banner)))
90+
(lfe_xrepl:start)))
8491

8592
(defun pid ()
8693
(erlang:whereis (SERVER)))
8794

8895
(defun echo (msg)
8996
(gen_server:call (SERVER) `#(echo ,msg)))
97+
98+
;;; Public utility functions
99+
100+
(defun banner ()
101+
(let* ((file (filename:join (list (code:priv_dir 'xrepl)
102+
"banners"
103+
"v2.txt")))
104+
(`#(ok ,bytes) (file:read_file file)))
105+
(bbmustache:render bytes `#m("xrepl-version" ,(xrepl-vsn:get)
106+
"lfe-version" ,(xrepl-vsn:get 'lfe)
107+
"erlang-version" ,(erlang:system_info 'otp_release)
108+
"red" "\e[31m"
109+
"pnk" "\e[1;31m"
110+
"ylw" "\e[1;33m"
111+
"gld" "\e[33m"
112+
"cyn" "\e[36m"
113+
"blu" "\e[1;34m"
114+
"dbl" "\e[34m"
115+
"grn" "\e[32m"
116+
"bgn" "\e[1;32m"
117+
"gry" "\e[37m"
118+
"end" "\e[0m"))))
119+
120+
(defun version () (xrepl-vsn:get))
121+
122+
(defun versions () (xrepl-vsn:all))
123+
124+
(defun write (string)
125+
(io:put_chars (erlang:whereis 'user) string))

0 commit comments

Comments
 (0)