tangled
alpha
login
or
join now
brookjeynes.dev
/
jido
7
fork
atom
地圖 (Jido) is a lightweight Unix TUI file explorer designed for speed and simplicity.
7
fork
atom
overview
issues
pulls
pipelines
*:fmt
brookjeynes.dev
1 month ago
91f28563
8a32479f
+67
-48
15 changed files
expand all
collapse all
unified
split
build.zig.zon
src
app.zig
archive.zig
commands.zig
config.zig
directories.zig
drawer.zig
environment.zig
event_handlers.zig
file_logger.zig
image.zig
list.zig
main.zig
notification.zig
sort.zig
+1
-1
build.zig.zon
···
1
.{
2
.name = .jido,
3
.fingerprint = 0xee45eabe36cafb57,
4
-
.version = "1.3.0",
5
.minimum_zig_version = "0.15.2",
6
7
.dependencies = .{
···
1
.{
2
.name = .jido,
3
.fingerprint = 0xee45eabe36cafb57,
4
+
.version = "1.4.0",
5
.minimum_zig_version = "0.15.2",
6
7
.dependencies = .{
+14
-12
src/app.zig
···
1
const std = @import("std");
2
const builtin = @import("builtin");
3
-
const environment = @import("./environment.zig");
4
-
const Drawer = @import("./drawer.zig");
5
-
const Notification = @import("./notification.zig");
6
-
const config = &@import("./config.zig").config;
7
-
const List = @import("./list.zig").List;
8
-
const Directories = @import("./directories.zig");
9
-
const FileLogger = @import("./file_logger.zig");
10
-
const CircStack = @import("./circ_stack.zig").CircularStack;
11
-
const Image = @import("./image.zig");
12
-
const Archive = @import("./archive.zig");
13
-
const zuid = @import("zuid");
14
const vaxis = @import("vaxis");
15
const Key = vaxis.Key;
16
-
const EventHandlers = @import("./event_handlers.zig");
0
0
0
17
const CommandHistory = @import("./commands.zig").CommandHistory;
0
0
0
0
0
0
0
0
18
0
19
const help_menu_items = [_][]const u8{
20
"Global:",
21
"<CTRL-c> :Exit.",
···
1
const std = @import("std");
2
const builtin = @import("builtin");
3
+
0
0
0
0
0
0
0
0
0
0
4
const vaxis = @import("vaxis");
5
const Key = vaxis.Key;
6
+
const zuid = @import("zuid");
7
+
8
+
const Archive = @import("./archive.zig");
9
+
const CircStack = @import("./circ_stack.zig").CircularStack;
10
const CommandHistory = @import("./commands.zig").CommandHistory;
11
+
const Directories = @import("./directories.zig");
12
+
const Drawer = @import("./drawer.zig");
13
+
const environment = @import("./environment.zig");
14
+
const EventHandlers = @import("./event_handlers.zig");
15
+
const FileLogger = @import("./file_logger.zig");
16
+
const Image = @import("./image.zig");
17
+
const List = @import("./list.zig").List;
18
+
const Notification = @import("./notification.zig");
19
20
+
const config = &@import("./config.zig").config;
21
const help_menu_items = [_][]const u8{
22
"Global:",
23
"<CTRL-c> :Exit.",
+2
-1
src/archive.zig
···
0
1
const std = @import("std");
2
-
const ascii = @import("std").ascii;
3
const FileLogger = @import("./file_logger.zig");
4
5
const archive_buf_size = 8192;
···
1
+
const ascii = @import("std").ascii;
2
const std = @import("std");
3
+
4
const FileLogger = @import("./file_logger.zig");
5
6
const archive_buf_size = 8192;
+2
src/commands.zig
···
1
const std = @import("std");
0
2
const App = @import("app.zig");
3
const environment = @import("environment.zig");
0
4
const user_config = &@import("./config.zig").config;
5
6
pub const CommandHistory = struct {
···
1
const std = @import("std");
2
+
3
const App = @import("app.zig");
4
const environment = @import("environment.zig");
5
+
6
const user_config = &@import("./config.zig").config;
7
8
pub const CommandHistory = struct {
+5
-3
src/config.zig
···
1
const std = @import("std");
2
const builtin = @import("builtin");
3
-
const environment = @import("./environment.zig");
4
const vaxis = @import("vaxis");
5
-
const FileLogger = @import("file_logger.zig");
6
-
const Notification = @import("./notification.zig");
7
const App = @import("./app.zig");
0
0
0
8
9
const CONFIG_NAME = "config.json";
10
const TRASH_DIR_NAME = "trash";
···
1
const std = @import("std");
2
const builtin = @import("builtin");
3
+
4
const vaxis = @import("vaxis");
5
+
0
6
const App = @import("./app.zig");
7
+
const environment = @import("./environment.zig");
8
+
const Notification = @import("./notification.zig");
9
+
const FileLogger = @import("file_logger.zig");
10
11
const CONFIG_NAME = "config.json";
12
const TRASH_DIR_NAME = "trash";
+8
-13
src/directories.zig
···
1
const std = @import("std");
0
0
0
0
2
const List = @import("./list.zig").List;
3
-
const CircStack = @import("./circ_stack.zig").CircularStack;
0
4
const config = &@import("./config.zig").config;
5
-
const fuzzig = @import("fuzzig");
6
-
7
const history_len: usize = 100;
8
9
const Self = @This();
···
119
}
120
121
if (config.sort_dirs == true) {
122
-
std.mem.sort([]const u8, self.child_entries.all(), {}, sortChildEntry);
123
}
124
}
125
···
142
}
143
144
if (config.sort_dirs == true) {
145
-
std.mem.sort(std.fs.Dir.Entry, self.entries.all(), {}, sortEntry);
146
}
147
-
}
148
-
149
-
fn sortEntry(_: void, lhs: std.fs.Dir.Entry, rhs: std.fs.Dir.Entry) bool {
150
-
return std.mem.lessThan(u8, lhs.name, rhs.name);
151
-
}
152
-
153
-
fn sortChildEntry(_: void, lhs: []const u8, rhs: []const u8) bool {
154
-
return std.mem.lessThan(u8, lhs, rhs);
155
}
156
157
pub fn clearEntries(self: *Self) void {
···
1
const std = @import("std");
2
+
3
+
const fuzzig = @import("fuzzig");
4
+
5
+
const CircStack = @import("./circ_stack.zig").CircularStack;
6
const List = @import("./list.zig").List;
7
+
8
+
const sort = &@import("./sort.zig");
9
const config = &@import("./config.zig").config;
0
0
10
const history_len: usize = 100;
11
12
const Self = @This();
···
122
}
123
124
if (config.sort_dirs == true) {
125
+
std.mem.sort([]const u8, self.child_entries.all(), {}, sort.string);
126
}
127
}
128
···
145
}
146
147
if (config.sort_dirs == true) {
148
+
std.mem.sort(std.fs.Dir.Entry, self.entries.all(), {}, sort.sortDirectoryEntry);
149
}
0
0
0
0
0
0
0
0
150
}
151
152
pub fn clearEntries(self: *Self) void {
+10
-8
src/drawer.zig
···
1
const std = @import("std");
0
0
0
0
2
const App = @import("./app.zig");
3
-
const FileLogger = @import("./file_logger.zig");
4
-
const Notification = @import("./notification.zig");
5
const Directories = @import("./directories.zig");
6
-
const config = &@import("./config.zig").config;
7
-
const vaxis = @import("vaxis");
8
-
const sort = @import("./sort.zig");
9
const Git = @import("./git.zig");
0
10
const List = @import("./list.zig").List;
11
-
const zeit = @import("zeit");
12
-
const Image = @import("./image.zig");
13
-
const Archive = @import("./archive.zig");
14
0
15
const Drawer = @This();
16
17
const top_div: u16 = 1;
···
1
const std = @import("std");
2
+
3
+
const vaxis = @import("vaxis");
4
+
const zeit = @import("zeit");
5
+
6
const App = @import("./app.zig");
7
+
const Archive = @import("./archive.zig");
0
8
const Directories = @import("./directories.zig");
9
+
const FileLogger = @import("./file_logger.zig");
0
0
10
const Git = @import("./git.zig");
11
+
const Image = @import("./image.zig");
12
const List = @import("./list.zig").List;
13
+
const Notification = @import("./notification.zig");
14
+
const sort = @import("./sort.zig");
0
15
16
+
const config = &@import("./config.zig").config;
17
const Drawer = @This();
18
19
const top_div: u16 = 1;
+2
-1
src/environment.zig
···
1
const std = @import("std");
0
0
2
const zuid = @import("zuid");
3
-
const builtin = @import("builtin");
4
5
pub fn getHomeDir() !?std.fs.Dir {
6
return try std.fs.openDirAbsolute(std.posix.getenv("HOME") orelse {
···
1
const std = @import("std");
2
+
const builtin = @import("builtin");
3
+
4
const zuid = @import("zuid");
0
5
6
pub fn getHomeDir() !?std.fs.Dir {
7
return try std.fs.openDirAbsolute(std.posix.getenv("HOME") orelse {
+6
-4
src/event_handlers.zig
···
1
const std = @import("std");
2
-
const App = @import("./app.zig");
3
-
const environment = @import("./environment.zig");
4
-
const zuid = @import("zuid");
5
const vaxis = @import("vaxis");
6
const Key = vaxis.Key;
7
-
const config = &@import("./config.zig").config;
0
0
8
const commands = @import("./commands.zig");
9
const Keybinds = @import("./config.zig").Keybinds;
0
10
const events = @import("./events.zig");
11
0
12
pub fn handleGlobalEvent(
13
app: *App,
14
event: App.Event,
···
1
const std = @import("std");
2
+
0
0
3
const vaxis = @import("vaxis");
4
const Key = vaxis.Key;
5
+
const zuid = @import("zuid");
6
+
7
+
const App = @import("./app.zig");
8
const commands = @import("./commands.zig");
9
const Keybinds = @import("./config.zig").Keybinds;
10
+
const environment = @import("./environment.zig");
11
const events = @import("./events.zig");
12
13
+
const config = &@import("./config.zig").config;
14
pub fn handleGlobalEvent(
15
app: *App,
16
event: App.Event,
+2
src/file_logger.zig
···
1
const std = @import("std");
0
2
const environment = @import("environment.zig");
0
3
const config = &@import("./config.zig").config;
4
5
pub const LOG_PATH = "log.txt";
···
1
const std = @import("std");
2
+
3
const environment = @import("environment.zig");
4
+
5
const config = &@import("./config.zig").config;
6
7
pub const LOG_PATH = "log.txt";
+2
src/image.zig
···
1
const std = @import("std");
0
2
const vaxis = @import("vaxis");
0
3
const App = @import("app.zig");
4
5
pub const Cache = struct {
···
1
const std = @import("std");
2
+
3
const vaxis = @import("vaxis");
4
+
5
const App = @import("app.zig");
6
7
pub const Cache = struct {
+1
src/list.zig
···
1
const std = @import("std");
0
2
const vaxis = @import("vaxis");
3
4
pub fn List(comptime T: type) type {
···
1
const std = @import("std");
2
+
3
const vaxis = @import("vaxis");
4
5
pub fn List(comptime T: type) type {
+6
-4
src/main.zig
···
1
const std = @import("std");
2
const builtin = @import("builtin");
0
3
const options = @import("options");
4
-
const App = @import("app.zig");
5
-
const FileLogger = @import("file_logger.zig");
6
const vaxis = @import("vaxis");
7
-
const config = &@import("./config.zig").config;
0
8
const resolvePath = @import("./commands.zig").resolvePath;
0
0
9
10
-
pub const panic = vaxis.panic_handler;
11
const help_menu =
12
\\Usage: jido
13
\\
···
1
const std = @import("std");
2
const builtin = @import("builtin");
3
+
4
const options = @import("options");
0
0
5
const vaxis = @import("vaxis");
6
+
pub const panic = vaxis.panic_handler;
7
+
8
const resolvePath = @import("./commands.zig").resolvePath;
9
+
const App = @import("app.zig");
10
+
const FileLogger = @import("file_logger.zig");
11
12
+
const config = &@import("./config.zig").config;
13
const help_menu =
14
\\Usage: jido
15
\\
+2
-1
src/notification.zig
···
1
const std = @import("std");
0
2
const vaxis = @import("vaxis");
0
3
const Event = @import("app.zig").Event;
4
-
5
const FileLogger = @import("file_logger.zig");
6
7
const Self = @This();
···
1
const std = @import("std");
2
+
3
const vaxis = @import("vaxis");
4
+
5
const Event = @import("app.zig").Event;
0
6
const FileLogger = @import("file_logger.zig");
7
8
const Self = @This();
+4
src/sort.zig
···
3
pub fn string(_: void, lhs: []const u8, rhs: []const u8) bool {
4
return std.mem.lessThan(u8, lhs, rhs);
5
}
0
0
0
0
···
3
pub fn string(_: void, lhs: []const u8, rhs: []const u8) bool {
4
return std.mem.lessThan(u8, lhs, rhs);
5
}
6
+
7
+
pub fn sortDirectoryEntry(_: void, lhs: std.fs.Dir.Entry, rhs: std.fs.Dir.Entry) bool {
8
+
return std.mem.lessThan(u8, lhs.name, rhs.name);
9
+
}