Introduction
Introduction Statistics Contact Development Disclaimer Help
tBegin implementing command mode - ve - a minimal text editor (work in progress)
git clone git://src.adamsgaard.dk/ve
Log
Files
Refs
README
LICENSE
---
commit a15a5661b1eb2ccdf076c8a0eb43c5eb8c0560e6
parent 5a9f61927211165c1e0da5706c60d333fff846a2
Author: Anders Damsgaard <[email protected]>
Date: Fri, 16 Aug 2019 10:03:51 +0200
Begin implementing command mode
Diffstat:
M TODO | 4 +---
M config.def.h | 3 +++
M ve.c | 27 +++++++++++++++++++++++++--
3 files changed, 29 insertions(+), 5 deletions(-)
---
diff --git a/TODO b/TODO
t@@ -1,8 +1,6 @@
Core functionality:
- Set keypress timeout before redraw
- - Proper handling of command-line arguments
- - Implement procedural keybinds
- - Implementing most Vi binds
+ - Implement most Vi binds
- Implement command mode
- Allow call of commands with keybinds
- Implement visual mode
diff --git a/config.def.h b/config.def.h
t@@ -13,6 +13,9 @@ static int status_message_timeout = 3;
/* static unsigned int cursorshape_normal = 2; */
/* static unsigned int cursorshape_insert = 6; */
+/* leader key for bind sequences */
+#define LEADER ' '
+
/*
* color settings for syntax highglighting
*/
diff --git a/ve.c b/ve.c
t@@ -910,6 +910,26 @@ editor_move_cursor(char key)
}
void
+editor_read_command()
+{
+ char* query;
+ query = editor_prompt(":%s");
+
+ editor_set_status_message("you typed: '%s'", query);
+ free(query);
+}
+
+/* first word in query is the command, the remaining are interpreted as args */
+void
+editor_command(char *query)
+{
+ switch(query) {
+
+ }
+}
+
+
+void
editor_process_keypress()
{
char c;
t@@ -934,7 +954,11 @@ editor_process_keypress()
editor_move_cursor(c);
break;
- case ' ':
+ case ':':
+ editor_read_command();
+ break;
+
+ case LEADER:
c = editor_read_key();
switch (c) {
case 'w':
t@@ -1155,4 +1179,3 @@ main(int argc, char *argv[])
}
return 0;
}
-
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.