diff options
| -rw-r--r-- | src/Buffer.zig | 28 | ||||
| -rw-r--r-- | src/Config.zig | 6 | ||||
| -rw-r--r-- | src/Editor.zig | 11 | ||||
| -rw-r--r-- | src/Row.zig | 29 | ||||
| -rw-r--r-- | src/StringBuilder.zig | 2 | ||||
| -rw-r--r-- | src/Syntax.zig | 5 | ||||
| -rw-r--r-- | src/Syntax/makefile.zig | 2 | ||||
| -rw-r--r-- | src/Syntax/zig.zig | 2 | ||||
| -rw-r--r-- | src/key.zig | 2 | ||||
| -rw-r--r-- | src/key_state.zig | 2 |
10 files changed, 42 insertions, 47 deletions
diff --git a/src/Buffer.zig b/src/Buffer.zig index 0416fda..d7f051d 100644 --- a/src/Buffer.zig +++ b/src/Buffer.zig | |||
| @@ -38,7 +38,7 @@ pub fn init(allocator: Allocator, name: []const u8) !Buffer { | |||
| 38 | // TODO: buffer-specific config support | 38 | // TODO: buffer-specific config support |
| 39 | var config = try Config.readConfig(allocator); | 39 | var config = try Config.readConfig(allocator); |
| 40 | 40 | ||
| 41 | return Buffer { | 41 | return Buffer{ |
| 42 | .allocator = allocator, | 42 | .allocator = allocator, |
| 43 | 43 | ||
| 44 | .name = name_owned, | 44 | .name = name_owned, |
| @@ -193,7 +193,7 @@ pub fn drawRows(self: Buffer, writer: anytype, screenrows: usize, screencols: us | |||
| 193 | } | 193 | } |
| 194 | } | 194 | } |
| 195 | } else if (self.rows.items.len == 0 and y == screenrows / 3) { | 195 | } else if (self.rows.items.len == 0 and y == screenrows / 3) { |
| 196 | const welcome_data = try std.fmt.allocPrint(self.allocator, "ES -- version {}", .{ es_config.es_version }); | 196 | const welcome_data = try std.fmt.allocPrint(self.allocator, "ES -- version {}", .{es_config.es_version}); |
| 197 | defer self.allocator.free(welcome_data); | 197 | defer self.allocator.free(welcome_data); |
| 198 | var welcome = welcome_data; | 198 | var welcome = welcome_data; |
| 199 | if (welcome.len > screencols - 1) { | 199 | if (welcome.len > screencols - 1) { |
| @@ -201,7 +201,7 @@ pub fn drawRows(self: Buffer, writer: anytype, screenrows: usize, screencols: us | |||
| 201 | } | 201 | } |
| 202 | 202 | ||
| 203 | const padding = (screencols - welcome.len - 1) / 2; | 203 | const padding = (screencols - welcome.len - 1) / 2; |
| 204 | try writer.print("{s}~{s}", .{Highlight.line_no.asString(), Highlight.normal.asString()}); | 204 | try writer.print("{s}~{s}", .{ Highlight.line_no.asString(), Highlight.normal.asString() }); |
| 205 | try printWithLeftPadding(self.allocator, writer, "{s}", welcome.len + padding, ' ', .{welcome}); | 205 | try printWithLeftPadding(self.allocator, writer, "{s}", welcome.len + padding, ' ', .{welcome}); |
| 206 | } else { | 206 | } else { |
| 207 | try writer.print("{s}~", .{Highlight.line_no.asString()}); | 207 | try writer.print("{s}~", .{Highlight.line_no.asString()}); |
| @@ -225,7 +225,7 @@ pub fn drawStatusBar(self: Buffer, writer: anytype, screencols: usize) !void { | |||
| 225 | else | 225 | else |
| 226 | @as([]const u8, ""); | 226 | @as([]const u8, ""); |
| 227 | 227 | ||
| 228 | var lbuf = try std.fmt.allocPrint(self.allocator, "{s}{s}", .{name, modified}); | 228 | var lbuf = try std.fmt.allocPrint(self.allocator, "{s}{s}", .{ name, modified }); |
| 229 | defer self.allocator.free(lbuf); | 229 | defer self.allocator.free(lbuf); |
| 230 | 230 | ||
| 231 | var rbuf = try std.fmt.allocPrint(self.allocator, " {s} | {}/{}", .{ | 231 | var rbuf = try std.fmt.allocPrint(self.allocator, " {s} | {}/{}", .{ |
| @@ -263,7 +263,7 @@ pub fn goToLine(self: *Buffer, editor: *Editor) !void { | |||
| 263 | defer editor.allocator.free(line_str); | 263 | defer editor.allocator.free(line_str); |
| 264 | 264 | ||
| 265 | const line = std.fmt.parseUnsigned(usize, line_str, 0) catch |err| { | 265 | const line = std.fmt.parseUnsigned(usize, line_str, 0) catch |err| { |
| 266 | try editor.setStatusMessage("Couldn't parse '{s}' as an integer: {}", .{line_str, err}); | 266 | try editor.setStatusMessage("Couldn't parse '{s}' as an integer: {}", .{ line_str, err }); |
| 267 | return; | 267 | return; |
| 268 | }; | 268 | }; |
| 269 | 269 | ||
| @@ -419,34 +419,34 @@ pub fn save(self: *Buffer, editor: *Editor) !void { | |||
| 419 | // TODO: Add a config value for this | 419 | // TODO: Add a config value for this |
| 420 | try self.cleanWhiteSpace(); | 420 | try self.cleanWhiteSpace(); |
| 421 | 421 | ||
| 422 | const tmpname = try std.fmt.allocPrint(self.allocator, "{s}~{}", .{self.name, std.time.milliTimestamp()}); | 422 | const tmpname = try std.fmt.allocPrint(self.allocator, "{s}~{}", .{ self.name, std.time.milliTimestamp() }); |
| 423 | defer self.allocator.free(tmpname); | 423 | defer self.allocator.free(tmpname); |
| 424 | 424 | ||
| 425 | const tmpfile = std.fs.cwd().createFile(tmpname, .{.truncate = true}) catch |err| { | 425 | const tmpfile = std.fs.cwd().createFile(tmpname, .{ .truncate = true }) catch |err| { |
| 426 | try editor.setStatusMessage("Cannot open tempfile '{s}' for writing: {}", .{tmpname, err}); | 426 | try editor.setStatusMessage("Cannot open tempfile '{s}' for writing: {}", .{ tmpname, err }); |
| 427 | return; | 427 | return; |
| 428 | }; | 428 | }; |
| 429 | defer tmpfile.close(); | 429 | defer tmpfile.close(); |
| 430 | 430 | ||
| 431 | const stat = statFile(self.name) catch |err| { | 431 | const stat = statFile(self.name) catch |err| { |
| 432 | try editor.setStatusMessage("Couldn't stat file '{s}': {}", .{self.name, err}); | 432 | try editor.setStatusMessage("Couldn't stat file '{s}': {}", .{ self.name, err }); |
| 433 | return; | 433 | return; |
| 434 | }; | 434 | }; |
| 435 | 435 | ||
| 436 | tmpfile.chmod(stat.mode) catch |err| { | 436 | tmpfile.chmod(stat.mode) catch |err| { |
| 437 | try editor.setStatusMessage("Couldn't chmod tempfile '{s}': {}", .{tmpname, err}); | 437 | try editor.setStatusMessage("Couldn't chmod tempfile '{s}': {}", .{ tmpname, err }); |
| 438 | return; | 438 | return; |
| 439 | }; | 439 | }; |
| 440 | 440 | ||
| 441 | // TODO: chown | 441 | // TODO: chown |
| 442 | 442 | ||
| 443 | self.writeToFile(tmpfile) catch |err| { | 443 | self.writeToFile(tmpfile) catch |err| { |
| 444 | try editor.setStatusMessage("Couldn't write to tempfile '{s}': {}", .{tmpname, err}); | 444 | try editor.setStatusMessage("Couldn't write to tempfile '{s}': {}", .{ tmpname, err }); |
| 445 | return; | 445 | return; |
| 446 | }; | 446 | }; |
| 447 | 447 | ||
| 448 | std.fs.cwd().rename(tmpname, self.name) catch |err| { | 448 | std.fs.cwd().rename(tmpname, self.name) catch |err| { |
| 449 | try editor.setStatusMessage("Couldn't move '{s}' to '{s}': {}", .{tmpname, self.name, err}); | 449 | try editor.setStatusMessage("Couldn't move '{s}' to '{s}': {}", .{ tmpname, self.name, err }); |
| 450 | return; | 450 | return; |
| 451 | }; | 451 | }; |
| 452 | 452 | ||
| @@ -480,9 +480,7 @@ pub fn selectSyntaxHighlighting(self: *Buffer) !void { | |||
| 480 | for (Syntax.database) |syntax| { | 480 | for (Syntax.database) |syntax| { |
| 481 | for (syntax.filematch) |filematch| { | 481 | for (syntax.filematch) |filematch| { |
| 482 | const is_ext = filematch[0] == '.'; | 482 | const is_ext = filematch[0] == '.'; |
| 483 | if ((is_ext and ext != null and std.mem.eql(u8, ext.?, filematch)) | 483 | if ((is_ext and ext != null and std.mem.eql(u8, ext.?, filematch)) or (!is_ext and std.mem.eql(u8, self.name, filematch))) { |
| 484 | or (!is_ext and std.mem.eql(u8, self.name, filematch)) | ||
| 485 | ) { | ||
| 486 | self.syntax = syntax; | 484 | self.syntax = syntax; |
| 487 | 485 | ||
| 488 | for (self.rows.items) |*row| { | 486 | for (self.rows.items) |*row| { |
diff --git a/src/Config.zig b/src/Config.zig index b8b45a5..1f11b65 100644 --- a/src/Config.zig +++ b/src/Config.zig | |||
| @@ -13,7 +13,7 @@ page_overlap: usize = 2, | |||
| 13 | tab_stop: usize = 8, | 13 | tab_stop: usize = 8, |
| 14 | 14 | ||
| 15 | pub fn readConfig(allocator: Allocator) !Config { | 15 | pub fn readConfig(allocator: Allocator) !Config { |
| 16 | var config = Config {}; | 16 | var config = Config{}; |
| 17 | 17 | ||
| 18 | var env_map = try std.process.getEnvMap(allocator); | 18 | var env_map = try std.process.getEnvMap(allocator); |
| 19 | defer env_map.deinit(); | 19 | defer env_map.deinit(); |
| @@ -32,7 +32,7 @@ pub fn readConfig(allocator: Allocator) !Config { | |||
| 32 | } else { | 32 | } else { |
| 33 | // TODO: Maybe return an error instead of .? | 33 | // TODO: Maybe return an error instead of .? |
| 34 | const home = env_map.get("HOME").?; | 34 | const home = env_map.get("HOME").?; |
| 35 | const home_config = try std.fs.path.join(allocator, &.{home, ".config"}); | 35 | const home_config = try std.fs.path.join(allocator, &.{ home, ".config" }); |
| 36 | defer allocator.free(home_config); | 36 | defer allocator.free(home_config); |
| 37 | 37 | ||
| 38 | try readConfigInBaseDir(allocator, &config, home_config); | 38 | try readConfigInBaseDir(allocator, &config, home_config); |
| @@ -42,7 +42,7 @@ pub fn readConfig(allocator: Allocator) !Config { | |||
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | fn readConfigInBaseDir(allocator: Allocator, config: *Config, base_dir: []const u8) !void { | 44 | fn readConfigInBaseDir(allocator: Allocator, config: *Config, base_dir: []const u8) !void { |
| 45 | const filename = try std.fs.path.join(allocator, &.{base_dir, config_path}); | 45 | const filename = try std.fs.path.join(allocator, &.{ base_dir, config_path }); |
| 46 | defer allocator.free(filename); | 46 | defer allocator.free(filename); |
| 47 | 47 | ||
| 48 | const file = std.fs.openFileAbsolute(filename, .{ .read = true }) catch |err| switch (err) { | 48 | const file = std.fs.openFileAbsolute(filename, .{ .read = true }) catch |err| switch (err) { |
diff --git a/src/Editor.zig b/src/Editor.zig index eecbaa7..487c5ff 100644 --- a/src/Editor.zig +++ b/src/Editor.zig | |||
| @@ -188,7 +188,7 @@ pub fn promptEx( | |||
| 188 | defer buf.deinit(); | 188 | defer buf.deinit(); |
| 189 | 189 | ||
| 190 | while (true) { | 190 | while (true) { |
| 191 | try self.setStatusMessage("{s}: {s}", .{prompt_str, buf.items}); | 191 | try self.setStatusMessage("{s}: {s}", .{ prompt_str, buf.items }); |
| 192 | try self.refreshScreen(); | 192 | try self.refreshScreen(); |
| 193 | 193 | ||
| 194 | // TODO: Navigation | 194 | // TODO: Navigation |
| @@ -217,7 +217,7 @@ pub fn promptEx( | |||
| 217 | if (std.ascii.isSpace(key_char) or std.ascii.isGraph(key_char)) { | 217 | if (std.ascii.isSpace(key_char) or std.ascii.isGraph(key_char)) { |
| 218 | try buf.append(key_char); | 218 | try buf.append(key_char); |
| 219 | } | 219 | } |
| 220 | } // else ?? | 220 | }, // else ?? |
| 221 | } | 221 | } |
| 222 | 222 | ||
| 223 | if (callback) |cb| { | 223 | if (callback) |cb| { |
| @@ -227,7 +227,7 @@ pub fn promptEx( | |||
| 227 | } | 227 | } |
| 228 | 228 | ||
| 229 | pub fn PromptCallback(comptime Data: type, comptime Error: type) type { | 229 | pub fn PromptCallback(comptime Data: type, comptime Error: type) type { |
| 230 | return fn(*Editor, []const u8, Key, Data) Error!void; | 230 | return fn (*Editor, []const u8, Key, Data) Error!void; |
| 231 | } | 231 | } |
| 232 | 232 | ||
| 233 | pub fn promptYN(self: *Editor, prompt_str: []const u8) !bool { | 233 | pub fn promptYN(self: *Editor, prompt_str: []const u8) !bool { |
| @@ -237,8 +237,7 @@ pub fn promptYN(self: *Editor, prompt_str: []const u8) !bool { | |||
| 237 | var response = try self.prompt(full_prompt); | 237 | var response = try self.prompt(full_prompt); |
| 238 | defer if (response) |str| self.allocator.free(str); | 238 | defer if (response) |str| self.allocator.free(str); |
| 239 | // TODO: This can be improved | 239 | // TODO: This can be improved |
| 240 | while (response == null | 240 | while (response == null or (response.?[0] != 'y' and response.?[0] != 'Y' and response.?[0] != 'n' and response.?[0] != 'N')) { |
| 241 | or (response.?[0] != 'y' and response.?[0] != 'Y' and response.?[0] != 'n' and response.?[0] != 'N')) { | ||
| 242 | if (response) |str| self.allocator.free(str); | 241 | if (response) |str| self.allocator.free(str); |
| 243 | response = try self.prompt(full_prompt); | 242 | response = try self.prompt(full_prompt); |
| 244 | } | 243 | } |
| @@ -342,7 +341,7 @@ fn getCursorPosition(row: *usize, col: *usize) !void { | |||
| 342 | try std_out.writeAll("\x1b[6n\r\n"); | 341 | try std_out.writeAll("\x1b[6n\r\n"); |
| 343 | 342 | ||
| 344 | const std_in = std.io.getStdIn().reader(); | 343 | const std_in = std.io.getStdIn().reader(); |
| 345 | var buf = [_]u8 { undefined } ** 32; | 344 | var buf = [_]u8{undefined} ** 32; |
| 346 | var response = std_in.readUntilDelimiter(&buf, 'R') catch |err| switch (err) { | 345 | var response = std_in.readUntilDelimiter(&buf, 'R') catch |err| switch (err) { |
| 347 | error.EndOfStream => return error.MisformedTerminalResponse, | 346 | error.EndOfStream => return error.MisformedTerminalResponse, |
| 348 | error.StreamTooLong => return error.MisformedTerminalResponse, | 347 | error.StreamTooLong => return error.MisformedTerminalResponse, |
diff --git a/src/Row.zig b/src/Row.zig index 633e338..a542160 100644 --- a/src/Row.zig +++ b/src/Row.zig | |||
| @@ -162,7 +162,7 @@ pub fn updateSyntax(self: *Row, buf: *Buffer) UpdateSyntaxError!void { | |||
| 162 | if (syntax.singleline_comment_start) |scs| { | 162 | if (syntax.singleline_comment_start) |scs| { |
| 163 | std.debug.assert(scs.len != 0); | 163 | std.debug.assert(scs.len != 0); |
| 164 | if (curr_str_quote == null and !in_comment and scs.len + i <= self.rdata.items.len) { | 164 | if (curr_str_quote == null and !in_comment and scs.len + i <= self.rdata.items.len) { |
| 165 | if (std.mem.eql(u8, scs, self.rdata.items[i .. (i + scs.len)])) { | 165 | if (std.mem.eql(u8, scs, self.rdata.items[i..(i + scs.len)])) { |
| 166 | std.mem.set(Highlight, self.hldata.items[i..], .comment); | 166 | std.mem.set(Highlight, self.hldata.items[i..], .comment); |
| 167 | break; | 167 | break; |
| 168 | } | 168 | } |
| @@ -176,10 +176,8 @@ pub fn updateSyntax(self: *Row, buf: *Buffer) UpdateSyntaxError!void { | |||
| 176 | if (curr_str_quote == null) { | 176 | if (curr_str_quote == null) { |
| 177 | if (in_comment) { | 177 | if (in_comment) { |
| 178 | self.hldata.items[i] = .comment_ml; | 178 | self.hldata.items[i] = .comment_ml; |
| 179 | if (mce.len + i <= self.rdata.items.len | 179 | if (mce.len + i <= self.rdata.items.len and std.mem.eql(u8, mce, self.rdata.items[i..(i + mce.len)])) { |
| 180 | and std.mem.eql(u8, mce, self.rdata.items[i .. (i + mce.len)]) | 180 | std.mem.set(Highlight, self.hldata.items[i..(i + mce.len)], .comment_ml); |
| 181 | ) { | ||
| 182 | std.mem.set(Highlight, self.hldata.items[i .. (i + mce.len)], .comment_ml); | ||
| 183 | i += mce.len; | 181 | i += mce.len; |
| 184 | in_comment = false; | 182 | in_comment = false; |
| 185 | after_sep = true; | 183 | after_sep = true; |
| @@ -187,15 +185,13 @@ pub fn updateSyntax(self: *Row, buf: *Buffer) UpdateSyntaxError!void { | |||
| 187 | i += 1; | 185 | i += 1; |
| 188 | continue; | 186 | continue; |
| 189 | } | 187 | } |
| 190 | } else if (mcs.len + i <= self.rdata.items.len | 188 | } else if (mcs.len + i <= self.rdata.items.len and std.mem.eql(u8, mcs, self.rdata.items[i..(i + mcs.len)])) { |
| 191 | and std.mem.eql(u8, mcs, self.rdata.items[i .. (i + mcs.len)])) { | 189 | std.mem.set(Highlight, self.hldata.items[i..(i + mcs.len)], .comment_ml); |
| 192 | std.mem.set(Highlight, self.hldata.items[i .. (i + mcs.len)], .comment_ml); | ||
| 193 | i += mcs.len; | 190 | i += mcs.len; |
| 194 | in_comment = true; | 191 | in_comment = true; |
| 195 | continue; | 192 | continue; |
| 196 | } | 193 | } |
| 197 | } | 194 | } |
| 198 | |||
| 199 | } | 195 | } |
| 200 | } | 196 | } |
| 201 | 197 | ||
| @@ -227,8 +223,7 @@ pub fn updateSyntax(self: *Row, buf: *Buffer) UpdateSyntaxError!void { | |||
| 227 | } | 223 | } |
| 228 | 224 | ||
| 229 | if (syntax.flags.hl_numbers) { | 225 | if (syntax.flags.hl_numbers) { |
| 230 | if ((std.ascii.isDigit(c) and (after_sep or prev_hl == .number)) | 226 | if ((std.ascii.isDigit(c) and (after_sep or prev_hl == .number)) or (c == '.' and prev_hl == .number)) { |
| 231 | or (c == '.' and prev_hl == .number)) { | ||
| 232 | after_sep = false; | 227 | after_sep = false; |
| 233 | self.hldata.items[i] = .number; | 228 | self.hldata.items[i] = .number; |
| 234 | i += 1; | 229 | i += 1; |
| @@ -238,10 +233,8 @@ pub fn updateSyntax(self: *Row, buf: *Buffer) UpdateSyntaxError!void { | |||
| 238 | 233 | ||
| 239 | if (after_sep) { | 234 | if (after_sep) { |
| 240 | for (kw1) |kw| { | 235 | for (kw1) |kw| { |
| 241 | if (i + kw.len <= self.rdata.items.len | 236 | if (i + kw.len <= self.rdata.items.len and std.mem.eql(u8, kw, self.rdata.items[i..(i + kw.len)]) and (i + kw.len == self.rdata.items.len or syntax.isSeparator(self.rdata.items[i + kw.len]))) { |
| 242 | and std.mem.eql(u8, kw, self.rdata.items[i .. (i + kw.len)]) | 237 | std.mem.set(Highlight, self.hldata.items[i..(i + kw.len)], .keyword1); |
| 243 | and (i + kw.len == self.rdata.items.len or syntax.isSeparator(self.rdata.items[i + kw.len]))) { | ||
| 244 | std.mem.set(Highlight, self.hldata.items[i .. (i + kw.len)], .keyword1); | ||
| 245 | i += kw.len; | 238 | i += kw.len; |
| 246 | after_sep = false; | 239 | after_sep = false; |
| 247 | continue :main_loop; | 240 | continue :main_loop; |
| @@ -249,10 +242,8 @@ pub fn updateSyntax(self: *Row, buf: *Buffer) UpdateSyntaxError!void { | |||
| 249 | } | 242 | } |
| 250 | 243 | ||
| 251 | for (kw2) |kw| { | 244 | for (kw2) |kw| { |
| 252 | if (i + kw.len <= self.rdata.items.len | 245 | if (i + kw.len <= self.rdata.items.len and std.mem.eql(u8, kw, self.rdata.items[i..(i + kw.len)]) and (i + kw.len == self.rdata.items.len or syntax.isSeparator(self.rdata.items[i + kw.len]))) { |
| 253 | and std.mem.eql(u8, kw, self.rdata.items[i .. (i + kw.len)]) | 246 | std.mem.set(Highlight, self.hldata.items[i..(i + kw.len)], .keyword2); |
| 254 | and (i + kw.len == self.rdata.items.len or syntax.isSeparator(self.rdata.items[i + kw.len]))) { | ||
| 255 | std.mem.set(Highlight, self.hldata.items[i .. (i + kw.len)], .keyword2); | ||
| 256 | i += kw.len; | 247 | i += kw.len; |
| 257 | after_sep = false; | 248 | after_sep = false; |
| 258 | continue :main_loop; | 249 | continue :main_loop; |
diff --git a/src/StringBuilder.zig b/src/StringBuilder.zig index 632b1b3..a37aee6 100644 --- a/src/StringBuilder.zig +++ b/src/StringBuilder.zig | |||
| @@ -36,7 +36,7 @@ pub fn toOwnedSlice(self: StringBuilder) []u8 { | |||
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | pub fn writer(self: *StringBuilder) Writer { | 38 | pub fn writer(self: *StringBuilder) Writer { |
| 39 | return Writer { .context = self }; | 39 | return Writer{ .context = self }; |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | fn writeFn(self: *StringBuilder, chars: []const u8) Error!usize { | 42 | fn writeFn(self: *StringBuilder, chars: []const u8) Error!usize { |
diff --git a/src/Syntax.zig b/src/Syntax.zig index ce3f432..f29c7fc 100644 --- a/src/Syntax.zig +++ b/src/Syntax.zig | |||
| @@ -5,7 +5,10 @@ const std = @import("std"); | |||
| 5 | 5 | ||
| 6 | const Syntax = @This(); | 6 | const Syntax = @This(); |
| 7 | 7 | ||
| 8 | pub const database = [_]Syntax{makefile.syntax, zig.syntax}; | 8 | pub const database = [_]Syntax{ |
| 9 | makefile.syntax, | ||
| 10 | zig.syntax, | ||
| 11 | }; | ||
| 9 | 12 | ||
| 10 | pub const Flags = struct { | 13 | pub const Flags = struct { |
| 11 | hl_numbers: bool = false, | 14 | hl_numbers: bool = false, |
diff --git a/src/Syntax/makefile.zig b/src/Syntax/makefile.zig index 4f73a2c..3a936e8 100644 --- a/src/Syntax/makefile.zig +++ b/src/Syntax/makefile.zig | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | // Please don't zig fmt this | ||
| 2 | |||
| 1 | const Syntax = @import("../Syntax.zig"); | 3 | const Syntax = @import("../Syntax.zig"); |
| 2 | 4 | ||
| 3 | pub const syntax = Syntax{ | 5 | pub const syntax = Syntax{ |
diff --git a/src/Syntax/zig.zig b/src/Syntax/zig.zig index 653fb1b..d0bf60c 100644 --- a/src/Syntax/zig.zig +++ b/src/Syntax/zig.zig | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | // Please don't zig fmt this | ||
| 2 | |||
| 1 | const std = @import("std"); | 3 | const std = @import("std"); |
| 2 | 4 | ||
| 3 | const Syntax = @import("../Syntax.zig"); | 5 | const Syntax = @import("../Syntax.zig"); |
diff --git a/src/key.zig b/src/key.zig index 1a68ebb..3a007fb 100644 --- a/src/key.zig +++ b/src/key.zig | |||
| @@ -79,7 +79,7 @@ pub const Key = enum(u16) { | |||
| 79 | const key_int = @enumToInt(key); | 79 | const key_int = @enumToInt(key); |
| 80 | if (key_int < @enumToInt(Key.space)) { | 80 | if (key_int < @enumToInt(Key.space)) { |
| 81 | const ch = std.ascii.toLower(@intCast(u8, key_int + 0x40)); | 81 | const ch = std.ascii.toLower(@intCast(u8, key_int + 0x40)); |
| 82 | const buf = [_]u8{'C', '-', ch}; | 82 | const buf = [_]u8{ 'C', '-', ch }; |
| 83 | return std.fmt.formatBuf(&buf, options, writer); | 83 | return std.fmt.formatBuf(&buf, options, writer); |
| 84 | } else if (key_int < @enumToInt(Key.meta_nil)) { | 84 | } else if (key_int < @enumToInt(Key.meta_nil)) { |
| 85 | const buf = [_]u8{@intCast(u8, key_int)}; | 85 | const buf = [_]u8{@intCast(u8, key_int)}; |
diff --git a/src/key_state.zig b/src/key_state.zig index 19177cf..49adbf8 100644 --- a/src/key_state.zig +++ b/src/key_state.zig | |||
| @@ -16,7 +16,7 @@ pub const Error = error{ | |||
| 16 | std.fs.File.ReadError || | 16 | std.fs.File.ReadError || |
| 17 | std.fs.File.WriteError || | 17 | std.fs.File.WriteError || |
| 18 | std.os.SchedYieldError; | 18 | std.os.SchedYieldError; |
| 19 | pub const KeyState = fn(*Editor, *Buffer, Key) Error!void; | 19 | pub const KeyState = fn (*Editor, *Buffer, Key) Error!void; |
| 20 | 20 | ||
| 21 | pub fn mgState(editor: *Editor, buf: *Buffer, key: Key) Error!void { | 21 | pub fn mgState(editor: *Editor, buf: *Buffer, key: Key) Error!void { |
| 22 | editor.current_state = defaultState; | 22 | editor.current_state = defaultState; |