dch

dch / iex

Last active 7 hours ago

Like 0

Dave's iex script

dch revised this gist 7 hours ago · e3b64df

1 file changed, 101 insertions

.iex.exs (file created)
@@ -0,0 +1,101 @@
1 + Path.wildcard("/usr/local/lib/erlang/lib/recon-*/ebin") |> hd() |> Code.append_path()
2 + import_if_available(:recon)
3 + import_if_available(:recon_trace)
4 + import_if_available(:observer_cli)
5 +
6 + alias Indie.Console
7 + alias Indie.Repo
8 + alias Indie.Domains
9 + alias Indie.Domains.Domain
10 + alias Indie.Accounts.User
11 + alias Indie.Commerce.Invoice
12 +
13 + alias Cartel.Workers.BuildWorker
14 + alias Cartel.Workflow
15 +
16 + defmodule I do
17 + def cls, do: IO.puts("\ec")
18 +
19 + def r, do: recompile(force: true)
20 +
21 + def qt(m, f \\ :_) do
22 + l(m)
23 +
24 + :recon_trace.calls(
25 + {m, f, :return_trace},
26 + {5000, 10000},
27 + pid: :all,
28 + scope: :local,
29 + stack: :return
30 + )
31 + end
32 +
33 + def raw(any, label \\ "iex") do
34 + IO.inspect(any,
35 + label: label,
36 + pretty: true,
37 + limit: :infinity,
38 + printable_limit: :infinity,
39 + structs: false,
40 + syntax_colors: [
41 + number: :yellow,
42 + atom: :cyan,
43 + string: :green,
44 + nil: :magenta,
45 + boolean: :magenta
46 + ],
47 + width: 0
48 + )
49 + end
50 +
51 + def debug(any, label \\ "iex") do
52 + IO.inspect(any,
53 + label: label,
54 + pretty: true,
55 + limit: :infinity,
56 + printable_limit: :infinity,
57 + syntax_colors: [
58 + number: :yellow,
59 + atom: :cyan,
60 + string: :green,
61 + nil: :magenta,
62 + boolean: :magenta
63 + ],
64 + width: 0
65 + )
66 + end
67 + end
68 +
69 + IEx.configure(
70 + default_prompt:
71 + [
72 + # ANSI CHA, move cursor to column 1. Breaks stuff.
73 + # "\e[G",
74 + :light_green,
75 + # plain string
76 + "🧪 ",
77 + :white,
78 + :reset
79 + ]
80 + |> IO.ANSI.format()
81 + |> IO.chardata_to_string(),
82 + inspect: [limit: :infinity, pretty: true, printable_limit: :infinity],
83 + colors: [
84 + enabled: true,
85 + syntax_colors: [
86 + number: :yellow,
87 + atom: :cyan,
88 + string: [:italic, :blue],
89 + boolean: [:italic, :magenta],
90 + nil: [:magenta, :bright]
91 + ],
92 + ls_directory: :cyan,
93 + ls_device: :yellow,
94 + doc_code: :green,
95 + doc_inline_code: :magenta,
96 + doc_headings: [:cyan, :underline],
97 + doc_title: [:cyan, :bright, :underline]
98 + ]
99 + )
100 +
101 + import I