commit f0abd591c8ef4c52c3649aba5b68d460a1c78f47
parent 9bdc877acf81ae270c68cacad2e70b9860f0832e
Author: lumidify <nobody@lumidify.org>
Date: Mon, 29 Nov 2021 09:19:33 +0100
Rename some functions
But it's still very inconsistent.
Diffstat:
M | buffer.c | | | 180 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | buffer.h | | | 88 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | keys_basic.c | | | 134 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | keys_command.c | | | 44 | ++++++++++++++++++++++---------------------- |
M | keys_command.h | | | 2 | +- |
M | ledit.c | | | 31 | +++++++++++++++++-------------- |
M | search.c | | | 40 | ++++++++++++++++++++-------------------- |
M | search.h | | | 8 | ++++---- |
M | theme.c | | | 4 | ++-- |
M | theme.h | | | 4 | ++-- |
M | undo.c | | | 34 | +++++++++++++++++----------------- |
M | undo.h | | | 26 | +++++++++++++------------- |
M | util.c | | | 6 | +++--- |
M | util.h | | | 6 | +++--- |
M | view.c | | | 235 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | window.c | | | 102 | ++++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | window.h | | | 74 | +++++++++++++++++++++++++++++++++++++------------------------------------- |
17 files changed, 511 insertions(+), 507 deletions(-)
diff --git a/buffer.c b/buffer.c
@@ -86,7 +86,7 @@ marklist_destroy(ledit_buffer_marklist *marklist) {
}
void
-ledit_buffer_insert_mark(ledit_buffer *buffer, char *mark, size_t len, size_t line, size_t byte) {
+buffer_insert_mark(ledit_buffer *buffer, char *mark, size_t len, size_t line, size_t byte) {
ledit_buffer_marklist *marklist = buffer->marklist;
for (size_t i = 0; i < marklist->len; i++) {
if (!strncmp(mark, marklist->marks[i].text, len)) {
@@ -118,10 +118,10 @@ marklist_create(void) {
}
ledit_buffer *
-ledit_buffer_create(ledit_common *common) {
+buffer_create(ledit_common *common) {
ledit_buffer *buffer = ledit_malloc(sizeof(ledit_buffer));
buffer->common = common;
- buffer->undo = ledit_undo_stack_create();
+ buffer->undo = undo_stack_create();
buffer->marklist = marklist_create();
buffer->filename = NULL;
@@ -137,7 +137,7 @@ ledit_buffer_create(ledit_common *common) {
resize_and_move_line_gap(buffer, 1, 0);
buffer->lines_num++;
buffer->lines_gap++;
- ledit_line *ll = ledit_buffer_get_line(buffer, 0);
+ ledit_line *ll = buffer_get_line(buffer, 0);
init_line(buffer, ll);
return buffer;
@@ -146,11 +146,11 @@ ledit_buffer_create(ledit_common *common) {
static void
set_view_hard_line_text(ledit_buffer *buffer, ledit_view *view) {
char *text = buffer->hard_line_based ? "|HL" : "|SL";
- ledit_window_set_mode_extra_text(view->window, text);
+ window_set_mode_extra_text(view->window, text);
}
void
-ledit_buffer_set_hard_line_based(ledit_buffer *buffer, int hl) {
+buffer_set_hard_line_based(ledit_buffer *buffer, int hl) {
buffer->hard_line_based = hl;
for (size_t i = 0; i < buffer->views_num; i++) {
set_view_hard_line_text(buffer, buffer->views[i]);
@@ -158,7 +158,7 @@ ledit_buffer_set_hard_line_based(ledit_buffer *buffer, int hl) {
}
void
-ledit_buffer_add_view(ledit_buffer *buffer, ledit_theme *theme, enum ledit_mode mode, size_t line, size_t pos) {
+buffer_add_view(ledit_buffer *buffer, ledit_theme *theme, enum ledit_mode mode, size_t line, size_t pos) {
size_t new_num = buffer->views_num + 1;
if (new_num <= buffer->views_num)
err_overflow();
@@ -170,7 +170,7 @@ ledit_buffer_add_view(ledit_buffer *buffer, ledit_theme *theme, enum ledit_mode
/* FIXME: error checking */
void
-ledit_buffer_remove_view(ledit_buffer *buffer, ledit_view *view) {
+buffer_remove_view(ledit_buffer *buffer, ledit_view *view) {
size_t i = 0;
int found = 0;
for (; i < buffer->views_num; i++) {
@@ -191,7 +191,7 @@ ledit_buffer_remove_view(ledit_buffer *buffer, ledit_view *view) {
}
void
-ledit_buffer_recalc_all_views_from_line(ledit_buffer *buffer, size_t line) {
+buffer_recalc_all_views_from_line(ledit_buffer *buffer, size_t line) {
for (size_t i = 0; i < buffer->views_num; i++) {
view_recalc_from_line(buffer->views[i], line);
}
@@ -200,7 +200,7 @@ ledit_buffer_recalc_all_views_from_line(ledit_buffer *buffer, size_t line) {
/* FIXME: don't generate extra blank line at end! */
/* WARNING: errstr must be copied as soon as possible! */
int
-ledit_buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, char **errstr) {
+buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, char **errstr) {
long len;
int off = 0;
ledit_line *ll;
@@ -214,7 +214,7 @@ ledit_buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, char *
if (len < 0) goto errorclose;
if (fseek(file, 0, SEEK_SET)) goto errorclose;
- ll = ledit_buffer_get_line(buffer, line);
+ ll = buffer_get_line(buffer, line);
file_contents = ledit_malloc(len + 2);
/* mimic nvi (or at least the openbsd version) - if the line
is empty, insert directly, otherwise insert after the line */
@@ -233,7 +233,7 @@ ledit_buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, char *
}
if (fclose(file)) goto error;
- ledit_buffer_insert_text_with_newlines(
+ buffer_insert_text_with_newlines(
buffer, line, ll->len, file_contents, len + off, NULL, NULL
);
free(file_contents);
@@ -251,15 +251,15 @@ errorclose:
/* FIXME: allow to write only certain lines */
int
-ledit_buffer_write_to_file(ledit_buffer *buffer, char *filename, char **errstr) {
+buffer_write_to_file(ledit_buffer *buffer, char *filename, char **errstr) {
FILE *file;
ledit_line *ll;
file = fopen(filename, "w");
if (!file) goto error;
clearerr(file);
for (size_t i = 0; i < buffer->lines_num; i++) {
- ll = ledit_buffer_get_line(buffer, i);
- ledit_buffer_normalize_line(ll);
+ ll = buffer_get_line(buffer, i);
+ buffer_normalize_line(ll);
if (fprintf(file, "%s\n", ll->text) < 0) goto errorclose;
}
if (fclose(file)) goto error;
@@ -276,13 +276,13 @@ errorclose:
}
void
-ledit_buffer_destroy(ledit_buffer *buffer) {
+buffer_destroy(ledit_buffer *buffer) {
ledit_line *l;
for (size_t i = 0; i < buffer->lines_num; i++) {
- l = ledit_buffer_get_line(buffer, i);
+ l = buffer_get_line(buffer, i);
free(l->text);
}
- ledit_undo_stack_destroy(buffer->undo);
+ undo_stack_destroy(buffer->undo);
free(buffer->lines);
if (buffer->filename)
free(buffer->filename);
@@ -291,7 +291,7 @@ ledit_buffer_destroy(ledit_buffer *buffer) {
}
void
-ledit_buffer_normalize_line(ledit_line *line) {
+buffer_normalize_line(ledit_line *line) {
if (line->gap < line->len) {
memmove(
line->text + line->gap,
@@ -308,35 +308,35 @@ ledit_buffer_normalize_line(ledit_line *line) {
/* FIXME: To simplify this a bit, maybe just copy text to txtbuf first and
then insert it in one go instead of having this complex logic */
void
-ledit_buffer_insert_text_from_line(
+buffer_insert_text_from_line(
ledit_buffer *buffer,
size_t dst_line, size_t dst_index,
size_t src_line, size_t src_index, size_t src_len,
txtbuf *text_ret) {
- ledit_buffer_insert_text_from_line_base(
+ buffer_insert_text_from_line_base(
buffer, dst_line, dst_index, src_line, src_index, src_len, text_ret
);
- ledit_buffer_recalc_line(buffer, dst_line);
+ buffer_recalc_line(buffer, dst_line);
}
/* FIXME: check if there can be bugs when a newline is inserted in some way
other than pasting or pressing enter */
void
-ledit_buffer_insert_text_from_line_base(
+buffer_insert_text_from_line_base(
ledit_buffer *buffer,
size_t dst_line, size_t dst_index,
size_t src_line, size_t src_index, size_t src_len,
txtbuf *text_ret) {
assert(dst_line != src_line);
- ledit_line *ll = ledit_buffer_get_line(buffer, src_line);
+ ledit_line *ll = buffer_get_line(buffer, src_line);
if (text_ret != NULL) {
txtbuf_grow(text_ret, src_len);
text_ret->len = src_len;
}
if (src_index >= ll->gap) {
/* all text to insert is after gap */
- ledit_buffer_insert_text_base(
+ buffer_insert_text_base(
buffer, dst_line, dst_index,
ll->text + src_index + ll->cap - ll->len, src_len
);
@@ -349,7 +349,7 @@ ledit_buffer_insert_text_from_line_base(
}
} else if (ll->gap - src_index >= src_len) {
/* all text to insert is before gap */
- ledit_buffer_insert_text_base(
+ buffer_insert_text_base(
buffer, dst_line, dst_index,
ll->text + src_index, src_len
);
@@ -362,12 +362,12 @@ ledit_buffer_insert_text_from_line_base(
}
} else {
/* insert part of text before gap */
- ledit_buffer_insert_text_base(
+ buffer_insert_text_base(
buffer, dst_line, dst_index,
ll->text + src_index, ll->gap - src_index
);
/* insert part of text after gap */
- ledit_buffer_insert_text_base(
+ buffer_insert_text_base(
buffer, dst_line, dst_index + ll->gap - src_index,
ll->text + ll->gap + ll->cap - ll->len,
src_len - ll->gap + src_index
@@ -436,14 +436,14 @@ resize_and_move_line_gap(ledit_buffer *buffer, size_t min_size, size_t index) {
}
void
-ledit_buffer_insert_text(ledit_buffer *buffer, size_t line_index, size_t index, char *text, size_t len) {
- ledit_buffer_insert_text_base(buffer, line_index, index, text, len);
- ledit_buffer_recalc_line(buffer, line_index);
+buffer_insert_text(ledit_buffer *buffer, size_t line_index, size_t index, char *text, size_t len) {
+ buffer_insert_text_base(buffer, line_index, index, text, len);
+ buffer_recalc_line(buffer, line_index);
}
void
-ledit_buffer_insert_text_base(ledit_buffer *buffer, size_t line_index, size_t index, char *text, size_t len) {
- ledit_line *line = ledit_buffer_get_line(buffer, line_index);
+buffer_insert_text_base(ledit_buffer *buffer, size_t line_index, size_t index, char *text, size_t len) {
+ ledit_line *line = buffer_get_line(buffer, line_index);
/* \0 is not included in line->len */
/* FIXME: this if should be redundant now because resize_and_move... includes a check */
if (line->len + len + 1 > line->cap || line->text == NULL)
@@ -471,27 +471,27 @@ strchr_len(char *text, char c, size_t len) {
/* FIXME: make these functions that call recalc* also be final as described above */
void
-ledit_buffer_insert_text_with_newlines(
+buffer_insert_text_with_newlines(
ledit_buffer *buffer,
size_t line_index, size_t index,
char *text, size_t len,
size_t *end_line_ret, size_t *end_byte_ret) {
size_t end;
- ledit_buffer_insert_text_with_newlines_base(
+ buffer_insert_text_with_newlines_base(
buffer, line_index, index, text, len,
&end, end_byte_ret
);
if (end_line_ret)
*end_line_ret = end;
if (line_index == end)
- ledit_buffer_recalc_line(buffer, line_index);
+ buffer_recalc_line(buffer, line_index);
else
- ledit_buffer_recalc_from_line(buffer, line_index);
+ buffer_recalc_from_line(buffer, line_index);
}
/* FIXME: also look for \r */
void
-ledit_buffer_insert_text_with_newlines_base(
+buffer_insert_text_with_newlines_base(
ledit_buffer *buffer,
size_t line_index, size_t index,
char *text, size_t len,
@@ -504,15 +504,15 @@ ledit_buffer_insert_text_with_newlines_base(
while ((cur = strchr_len(last, '\n', rem_len)) != NULL) {
/* FIXME: this is probably inefficient, but I don't have time to
think about it right now */
- ledit_buffer_append_line_base(buffer, cur_line, cur_index, 1);
- ledit_buffer_insert_text_base(buffer, cur_line, cur_index, last, cur - last);
+ buffer_append_line_base(buffer, cur_line, cur_index, 1);
+ buffer_insert_text_base(buffer, cur_line, cur_index, last, cur - last);
cur_index = 0;
cur_line++;
rem_len -= cur - last + 1;
last = cur + 1;
}
/* FIXME: check how legal this casting between pointers and ints is */
- ledit_buffer_insert_text_base(buffer, cur_line, cur_index, last, text + len - last);
+ buffer_insert_text_base(buffer, cur_line, cur_index, last, text + len - last);
if (end_line_ret)
*end_line_ret = cur_line;
if (end_byte_ret)
@@ -530,14 +530,14 @@ init_line(ledit_buffer *buffer, ledit_line *line) {
}
void
-ledit_buffer_append_line(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text) {
- ledit_buffer_append_line_base(buffer, line_index, text_index, break_text);
- ledit_buffer_recalc_from_line(buffer, line_index);
+buffer_append_line(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text) {
+ buffer_append_line_base(buffer, line_index, text_index, break_text);
+ buffer_recalc_from_line(buffer, line_index);
}
/* FIXME: error checking (index out of bounds, etc.) */
void
-ledit_buffer_append_line_base(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text) {
+buffer_append_line_base(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text) {
size_t new_len = buffer->lines_num + 1;
if (new_len <= buffer->lines_num)
err_overflow();
@@ -547,18 +547,18 @@ ledit_buffer_append_line_base(ledit_buffer *buffer, size_t line_index, size_t te
resize_and_move_line_gap(buffer, new_len, insert_index);
buffer->lines_num++;
buffer->lines_gap++;
- ledit_line *new_l = ledit_buffer_get_line(buffer, line_index + 1);
+ ledit_line *new_l = buffer_get_line(buffer, line_index + 1);
init_line(buffer, new_l);
for (size_t i = 0; i < buffer->views_num; i++) {
view_notify_append_line(buffer->views[i], line_index);
}
if (break_text) {
- ledit_line *l = ledit_buffer_get_line(buffer, line_index);
- ledit_buffer_insert_text_from_line_base(
+ ledit_line *l = buffer_get_line(buffer, line_index);
+ buffer_insert_text_from_line_base(
buffer, line_index + 1, 0,
line_index, text_index, l->len - text_index, NULL
);
- ledit_buffer_delete_line_section_base(
+ buffer_delete_line_section_base(
buffer, line_index,
text_index, l->len - text_index
);
@@ -567,20 +567,20 @@ ledit_buffer_append_line_base(ledit_buffer *buffer, size_t line_index, size_t te
/* FIXME: set offset to 0 when recalculating first line? */
void
-ledit_buffer_delete_line_entries(ledit_buffer *buffer, size_t index1, size_t index2) {
- ledit_buffer_delete_line_entries_base(buffer, index1, index2);
- ledit_buffer_recalc_from_line(buffer, index1 > 0 ? index1 - 1 : 0);
+buffer_delete_line_entries(ledit_buffer *buffer, size_t index1, size_t index2) {
+ buffer_delete_line_entries_base(buffer, index1, index2);
+ buffer_recalc_from_line(buffer, index1 > 0 ? index1 - 1 : 0);
}
-/* IMPORTANT: ledit_buffer_recalc_from_line needs to be called sometime after this! */
+/* IMPORTANT: buffer_recalc_from_line needs to be called sometime after this! */
void
-ledit_buffer_delete_line_entries_base(ledit_buffer *buffer, size_t index1, size_t index2) {
+buffer_delete_line_entries_base(ledit_buffer *buffer, size_t index1, size_t index2) {
ledit_line *l;
assert (index2 >= index1);
/* it isn't allowed to delete all lines */
assert(index2 - index1 != buffer->lines_num);
for (size_t i = index1; i <= index2; i++) {
- l = ledit_buffer_get_line(buffer, i);
+ l = buffer_get_line(buffer, i);
free(l->text);
}
move_line_gap(buffer, index1);
@@ -591,17 +591,17 @@ ledit_buffer_delete_line_entries_base(ledit_buffer *buffer, size_t index1, size_
}
void
-ledit_buffer_delete_line_entry(ledit_buffer *buffer, size_t index) {
- ledit_buffer_delete_line_entries(buffer, index, index);
+buffer_delete_line_entry(ledit_buffer *buffer, size_t index) {
+ buffer_delete_line_entries(buffer, index, index);
}
void
-ledit_buffer_delete_line_entry_base(ledit_buffer *buffer, size_t index) {
- ledit_buffer_delete_line_entries_base(buffer, index, index);
+buffer_delete_line_entry_base(ledit_buffer *buffer, size_t index) {
+ buffer_delete_line_entries_base(buffer, index, index);
}
ledit_line *
-ledit_buffer_get_line(ledit_buffer *buffer, size_t index) {
+buffer_get_line(ledit_buffer *buffer, size_t index) {
assert(index < buffer->lines_num);
return index < buffer->lines_gap ?
&buffer->lines[index] :
@@ -609,38 +609,38 @@ ledit_buffer_get_line(ledit_buffer *buffer, size_t index) {
}
void
-ledit_buffer_recalc_line(ledit_buffer *buffer, size_t line) {
+buffer_recalc_line(ledit_buffer *buffer, size_t line) {
for (size_t i = 0; i < buffer->views_num; i++) {
view_recalc_line(buffer->views[i], line);
}
}
void
-ledit_buffer_recalc_from_line(ledit_buffer *buffer, size_t line) {
+buffer_recalc_from_line(ledit_buffer *buffer, size_t line) {
for (size_t i = 0; i < buffer->views_num; i++) {
view_recalc_from_line(buffer->views[i], line);
}
}
void
-ledit_buffer_recalc_all_lines(ledit_buffer *buffer) {
+buffer_recalc_all_lines(ledit_buffer *buffer) {
for (size_t i = 0; i < buffer->views_num; i++) {
view_recalc_all_lines(buffer->views[i]);
}
}
size_t
-ledit_buffer_textlen(ledit_buffer *buffer, size_t line1, size_t byte1, size_t line2, size_t byte2) {
+buffer_textlen(ledit_buffer *buffer, size_t line1, size_t byte1, size_t line2, size_t byte2) {
assert(line1 < line2 || (line1 == line2 && byte1 <= byte2));
size_t len = 0;
- ledit_line *ll = ledit_buffer_get_line(buffer, line1);
+ ledit_line *ll = buffer_get_line(buffer, line1);
if (line1 == line2) {
len = byte2 - byte1;
} else {
/* + 1 for newline */
len = ll->len - byte1 + byte2 + 1;
for (size_t i = line1 + 1; i < line2; i++) {
- ll = ledit_buffer_get_line(buffer, i);
+ ll = buffer_get_line(buffer, i);
len += ll->len + 1;
}
}
@@ -654,11 +654,11 @@ ledit_buffer_textlen(ledit_buffer *buffer, size_t line1, size_t byte1, size_t li
of pango's requirements). If a more efficient rendering
backend is added, it would be good to optimize this, though. */
void
-ledit_buffer_copy_text(ledit_buffer *buffer, char *dst, int line1, int byte1, int line2, int byte2) {
+buffer_copy_text(ledit_buffer *buffer, char *dst, int line1, int byte1, int line2, int byte2) {
assert(line1 < line2 || (line1 == line2 && byte1 <= byte2));
- ledit_line *ll1 = ledit_buffer_get_line(buffer, line1);
- ledit_line *ll2 = ledit_buffer_get_line(buffer, line2);
- ledit_buffer_normalize_line(ll1);
+ ledit_line *ll1 = buffer_get_line(buffer, line1);
+ ledit_line *ll2 = buffer_get_line(buffer, line2);
+ buffer_normalize_line(ll1);
if (line1 == line2) {
memcpy(dst, ll1->text + byte1, byte2 - byte1);
dst[byte2 - byte1] = '\0';
@@ -669,14 +669,14 @@ ledit_buffer_copy_text(ledit_buffer *buffer, char *dst, int line1, int byte1, in
dst[cur_pos] = '\n';
cur_pos++;
for (int i = line1 + 1; i < line2; i++) {
- ledit_line *ll = ledit_buffer_get_line(buffer, i);
- ledit_buffer_normalize_line(ll);
+ ledit_line *ll = buffer_get_line(buffer, i);
+ buffer_normalize_line(ll);
memcpy(dst + cur_pos, ll->text, ll->len);
cur_pos += ll->len;
dst[cur_pos] = '\n';
cur_pos++;
}
- ledit_buffer_normalize_line(ll2);
+ buffer_normalize_line(ll2);
memcpy(dst + cur_pos, ll2->text, byte2);
cur_pos += byte2;
dst[cur_pos] = '\0';
@@ -684,15 +684,15 @@ ledit_buffer_copy_text(ledit_buffer *buffer, char *dst, int line1, int byte1, in
}
void
-ledit_buffer_copy_text_to_txtbuf(
+buffer_copy_text_to_txtbuf(
ledit_buffer *buffer,
txtbuf *buf,
size_t line1, size_t byte1,
size_t line2, size_t byte2) {
assert(line1 < line2 || (line1 == line2 && byte1 <= byte2));
- size_t len = ledit_buffer_textlen(buffer, line1, byte1, line2, byte2);
+ size_t len = buffer_textlen(buffer, line1, byte1, line2, byte2);
txtbuf_grow(buf, len + 1);
- ledit_buffer_copy_text(buffer, buf->text, line1, byte1, line2, byte2);
+ buffer_copy_text(buffer, buf->text, line1, byte1, line2, byte2);
buf->len = len;
}
@@ -700,7 +700,7 @@ ledit_buffer_copy_text_to_txtbuf(
#define LINE_CHAR(line, i) ((i) < (line)->gap ? (line)->text[i] : (line)->text[i + (line)->cap - (line)->len])
size_t
-ledit_line_prev_utf8(ledit_line *line, size_t index) {
+line_prev_utf8(ledit_line *line, size_t index) {
if (index <= 0)
return 0;
size_t i = index - 1;
@@ -712,7 +712,7 @@ ledit_line_prev_utf8(ledit_line *line, size_t index) {
}
size_t
-ledit_line_next_utf8(ledit_line *line, size_t index) {
+line_next_utf8(ledit_line *line, size_t index) {
if (index >= line->len)
return line->len;
size_t i = index + 1;
@@ -731,14 +731,14 @@ line_byte_to_char(ledit_line *line, size_t byte) {
size_t b = byte > line->len ? line->len : byte; /* maybe not necessary */
while (i < b) {
c++;
- i = ledit_line_next_utf8(line, i);
+ i = line_next_utf8(line, i);
}
return c;
}
void
-ledit_buffer_delete_line_section_base(ledit_buffer *buffer, size_t line, size_t start, size_t length) {
- ledit_line *l = ledit_buffer_get_line(buffer, line);
+buffer_delete_line_section_base(ledit_buffer *buffer, size_t line, size_t start, size_t length) {
+ ledit_line *l = buffer_get_line(buffer, line);
if (start <= l->gap && start + length >= l->gap) {
l->gap = start;
} else if (start < l->gap && start + length < l->gap) {
@@ -762,23 +762,23 @@ ledit_buffer_delete_line_section_base(ledit_buffer *buffer, size_t line, size_t
}
size_t
-ledit_buffer_delete_unicode_char(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir) {
- size_t new_index = ledit_buffer_delete_unicode_char_base(buffer, line_index, byte_index, dir);
- ledit_buffer_recalc_line(buffer, line_index);
+buffer_delete_unicode_char(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir) {
+ size_t new_index = buffer_delete_unicode_char_base(buffer, line_index, byte_index, dir);
+ buffer_recalc_line(buffer, line_index);
return new_index;
}
size_t
-ledit_buffer_delete_unicode_char_base(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir) {
- ledit_line *l = ledit_buffer_get_line(buffer, line_index);
+buffer_delete_unicode_char_base(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir) {
+ ledit_line *l = buffer_get_line(buffer, line_index);
size_t new_index = byte_index;
if (dir < 0) {
- size_t i = ledit_line_prev_utf8(l, byte_index);
- ledit_buffer_delete_line_section_base(buffer, line_index, i, byte_index - i);
+ size_t i = line_prev_utf8(l, byte_index);
+ buffer_delete_line_section_base(buffer, line_index, i, byte_index - i);
new_index = i;
} else {
- size_t i = ledit_line_next_utf8(l, byte_index);
- ledit_buffer_delete_line_section_base(buffer, line_index, byte_index, i - byte_index);
+ size_t i = line_next_utf8(l, byte_index);
+ buffer_delete_line_section_base(buffer, line_index, byte_index, i - byte_index);
}
return new_index;
}
diff --git a/buffer.h b/buffer.h
@@ -29,7 +29,7 @@ typedef struct {
struct ledit_buffer {
ledit_common *common; /* common stuff, e.g. display, etc. */
char *filename; /* last opened filename */
- ledit_undo_stack *undo; /* undo manager */
+ undo_stack *undo; /* undo manager */
ledit_buffer_marklist *marklist; /* list of mark positions set */
ledit_line *lines; /* array of lines */
ledit_view **views; /* array of registered views */
@@ -46,29 +46,29 @@ struct ledit_buffer {
/*
* Create a new buffer with one empty line
*/
-ledit_buffer *ledit_buffer_create(ledit_common *common);
+ledit_buffer *buffer_create(ledit_common *common);
/*
* Set the hard line mode of the buffer and update the
* displayed mode in all views.
*/
-void ledit_buffer_set_hard_line_based(ledit_buffer *buffer, int hl);
+void buffer_set_hard_line_based(ledit_buffer *buffer, int hl);
/*
* Add a new view to the buffer.
*/
-void ledit_buffer_add_view(ledit_buffer *buffer, ledit_theme *theme, enum ledit_mode mode, size_t line, size_t pos);
+void buffer_add_view(ledit_buffer *buffer, ledit_theme *theme, enum ledit_mode mode, size_t line, size_t pos);
/*
* Remove the given view from the buffer.
* Nothing is done if the view does not belong to the buffer.
*/
-void ledit_buffer_remove_view(ledit_buffer *buffer, ledit_view *view);
+void buffer_remove_view(ledit_buffer *buffer, ledit_view *view);
/*
* Call 'view_recalc_from_line' for all views.
*/
-void ledit_buffer_recalc_all_views_from_line(ledit_buffer *buffer, size_t line);
+void buffer_recalc_all_views_from_line(ledit_buffer *buffer, size_t line);
/*
* Load a file into the buffer at line 'line'.
@@ -78,7 +78,7 @@ void ledit_buffer_recalc_all_views_from_line(ledit_buffer *buffer, size_t line);
* with an error message which must be copied as soon as possible because it may
* be overwritten by subsequent function calls.
*/
-int ledit_buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, char **errstr);
+int buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, char **errstr);
/*
* Write the buffer to a file.
@@ -86,18 +86,18 @@ int ledit_buffer_load_file(ledit_buffer *buffer, char *filename, size_t line, ch
* with an error message which must be copied as soon as possible because it may
* be overwritten by subsequent function calls.
*/
-int ledit_buffer_write_to_file(ledit_buffer *buffer, char *filename, char **errstr);
+int buffer_write_to_file(ledit_buffer *buffer, char *filename, char **errstr);
/*
* Destroy a buffer.
*/
-void ledit_buffer_destroy(ledit_buffer *buffer);
+void buffer_destroy(ledit_buffer *buffer);
/*
* Normalize a line, i.e. move the gap to the end and add '\0'
* so the text can be used as a normal string
*/
-void ledit_buffer_normalize_line(ledit_line *line);
+void buffer_normalize_line(ledit_line *line);
/*
* Insert 'src_len' bytes from 'src_line' starting at byte position 'src_index'
@@ -107,7 +107,7 @@ void ledit_buffer_normalize_line(ledit_line *line);
* This function does not update the views or normalize the lines, so it should
* only be used for efficiency purposes when performing multiple operations.
*/
-void ledit_buffer_insert_text_from_line_base(
+void buffer_insert_text_from_line_base(
ledit_buffer *buffer,
size_t dst_line, size_t dst_index,
size_t src_line, size_t src_index, size_t src_len,
@@ -115,9 +115,9 @@ void ledit_buffer_insert_text_from_line_base(
);
/*
- * Same as ledit_buffer_insert_text_from_line_base, but the views are updated afterwards.
+ * Same as buffer_insert_text_from_line_base, but the views are updated afterwards.
*/
-void ledit_buffer_insert_text_from_line(
+void buffer_insert_text_from_line(
ledit_buffer *buffer,
size_t dst_line, size_t dst_index,
size_t src_line, size_t src_index, size_t src_len,
@@ -130,16 +130,16 @@ void ledit_buffer_insert_text_from_line(
* This function does not update the views or normalize the lines, so it should
* only be used for efficiency purposes when performing multiple operations.
*/
-void ledit_buffer_insert_text_base(
+void buffer_insert_text_base(
ledit_buffer *buffer,
size_t line_index, size_t index,
char *text, size_t len
);
/*
- * Same as ledit_buffer_insert_text_base, but the views are updated afterwards.
+ * Same as buffer_insert_text_base, but the views are updated afterwards.
*/
-void ledit_buffer_insert_text(
+void buffer_insert_text(
ledit_buffer *buffer,
size_t line_index, size_t index,
char *text, size_t len
@@ -154,7 +154,7 @@ void ledit_buffer_insert_text(
* This function does not update the views or normalize the lines, so it should
* only be used for efficiency purposes when performing multiple operations.
*/
-void ledit_buffer_insert_text_with_newlines_base(
+void buffer_insert_text_with_newlines_base(
ledit_buffer *buffer,
size_t line_index, size_t index,
char *text, size_t len,
@@ -162,9 +162,9 @@ void ledit_buffer_insert_text_with_newlines_base(
);
/*
- * Same as ledit_buffer_insert_text_with_newlines_base, but the views are updated afterwards.
+ * Same as buffer_insert_text_with_newlines_base, but the views are updated afterwards.
*/
-void ledit_buffer_insert_text_with_newlines(
+void buffer_insert_text_with_newlines(
ledit_buffer *buffer,
size_t line_index, size_t index,
char *text, size_t len,
@@ -178,51 +178,51 @@ void ledit_buffer_insert_text_with_newlines(
* The views are notified that a line has been appended, but not told to update
* their line heights and offsets.
*/
-void ledit_buffer_append_line_base(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text);
+void buffer_append_line_base(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text);
/*
- * Same as ledit_buffer_append_line_base, but the views are told to update
+ * Same as buffer_append_line_base, but the views are told to update
* their line heights and offsets afterwards.
*/
-void ledit_buffer_append_line(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text);
+void buffer_append_line(ledit_buffer *buffer, size_t line_index, size_t text_index, int break_text);
/*
* Delete lines between 'index1' and 'index2' (inclusive).
* The views are notified of the deletion but not told to
* update their line heights and offsets.
*/
-void ledit_buffer_delete_line_entries_base(ledit_buffer *buffer, size_t index1, size_t index2);
+void buffer_delete_line_entries_base(ledit_buffer *buffer, size_t index1, size_t index2);
/*
- * Same as ledit_buffer_delete_line_entries_base, but the views are told to
+ * Same as buffer_delete_line_entries_base, but the views are told to
* update their line heights and offsets.
*/
-void ledit_buffer_delete_line_entries(ledit_buffer *buffer, size_t index1, size_t index2);
+void buffer_delete_line_entries(ledit_buffer *buffer, size_t index1, size_t index2);
/*
- * Convenience function to call ledit_buffer_delete_line_entries_base
+ * Convenience function to call buffer_delete_line_entries_base
* with two times the same line index.
*/
-void ledit_buffer_delete_line_entry_base(ledit_buffer *buffer, size_t index);
+void buffer_delete_line_entry_base(ledit_buffer *buffer, size_t index);
/*
- * Convenience function to call ledit_buffer_delete_line_entries
+ * Convenience function to call buffer_delete_line_entries
* with two times the same line index.
*/
-void ledit_buffer_delete_line_entry(ledit_buffer *buffer, size_t index);
+void buffer_delete_line_entry(ledit_buffer *buffer, size_t index);
/*
* Get the line at logical index 'index'.
* The returned line is only valid until the next
* action that appends or deletes line entries.
*/
-ledit_line *ledit_buffer_get_line(ledit_buffer *buffer, size_t index);
+ledit_line *buffer_get_line(ledit_buffer *buffer, size_t index);
/*
* Tell views to recalculate the height of line 'line' and
* update the pixel offsets of the following lines.
*/
-void ledit_buffer_recalc_line(ledit_buffer *buffer, size_t line);
+void buffer_recalc_line(ledit_buffer *buffer, size_t line);
/*
* Tell views to recalculate the height for all lines starting at 'line'
@@ -230,13 +230,13 @@ void ledit_buffer_recalc_line(ledit_buffer *buffer, size_t line);
* all lines after 'line'.
* Also clear the text_dirty attribute for all lines starting at 'line'.
*/
-void ledit_buffer_recalc_from_line(ledit_buffer *buffer, size_t line);
+void buffer_recalc_from_line(ledit_buffer *buffer, size_t line);
/*
* Tell views to recalculate all lines.
* Also clear the text_dirty attribute for all lines.
*/
-void ledit_buffer_recalc_all_lines(ledit_buffer *buffer);
+void buffer_recalc_all_lines(ledit_buffer *buffer);
/*
* Get needed length of text range, including newlines.
@@ -244,21 +244,21 @@ void ledit_buffer_recalc_all_lines(ledit_buffer *buffer);
* - if the last range ends at the end of a line, the newline is *not* included
* - the range must be sorted already
*/
-size_t ledit_buffer_textlen(ledit_buffer *buffer, size_t line1, size_t byte1, size_t line2, size_t byte2);
+size_t buffer_textlen(ledit_buffer *buffer, size_t line1, size_t byte1, size_t line2, size_t byte2);
/*
* Copy text range into given buffer.
* - dst is null-terminated
- * - dst must be large enough to contain the text and NUL (only use this together with ledit_buffer_textlen)
+ * - dst must be large enough to contain the text and NUL (only use this together with buffer_textlen)
* - the range must be sorted already
*/
-void ledit_buffer_copy_text(ledit_buffer *buffer, char *dst, int line1, int byte1, int line2, int byte2);
+void buffer_copy_text(ledit_buffer *buffer, char *dst, int line1, int byte1, int line2, int byte2);
/*
* Copy text range into given buffer and resize it if necessary.
* - the range must be sorted already
*/
-void ledit_buffer_copy_text_to_txtbuf(
+void buffer_copy_text_to_txtbuf(
ledit_buffer *buffer,
txtbuf *buf, /* oh, isn't that a very non-confusing name? */
size_t line1, size_t byte1,
@@ -268,12 +268,12 @@ void ledit_buffer_copy_text_to_txtbuf(
/*
* Get the byte index of the previous utf8 character starting at byte index 'index'.
*/
-size_t ledit_line_next_utf8(ledit_line *line, size_t index);
+size_t line_next_utf8(ledit_line *line, size_t index);
/*
* Get the byte index of the previous utf8 character starting at byte index 'index'.
*/
-size_t ledit_line_prev_utf8(ledit_line *line, size_t index);
+size_t line_prev_utf8(ledit_line *line, size_t index);
/*
* Get the unicode character index of a byte position.
@@ -285,7 +285,7 @@ size_t line_byte_to_char(ledit_line *line, size_t byte);
* and notify the views.
* Note that this does not tell the views to recalculate their line heights and offsets.
*/
-void ledit_buffer_delete_line_section_base(ledit_buffer *buffer, size_t line, size_t start, size_t length);
+void buffer_delete_line_section_base(ledit_buffer *buffer, size_t line, size_t start, size_t length);
/*
* Delete the unicode char at 'line_index' and 'byte_index' if 'dir' is >= 0,
@@ -294,16 +294,16 @@ void ledit_buffer_delete_line_section_base(ledit_buffer *buffer, size_t line, si
* This function only notifies the views of the deletion, but does not tell
* them to recalculate their line heights and offsets.
*/
-size_t ledit_buffer_delete_unicode_char_base(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir);
+size_t buffer_delete_unicode_char_base(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir);
/*
- * Same as ledit_buffer_delete_unicode_char_base, but the views are updated.
+ * Same as buffer_delete_unicode_char_base, but the views are updated.
*/
-size_t ledit_buffer_delete_unicode_char(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir);
+size_t buffer_delete_unicode_char(ledit_buffer *buffer, size_t line_index, size_t byte_index, int dir);
/*
* Insert a mark with key 'mark' at line 'line' and byte 'byte'.
*/
-void ledit_buffer_insert_mark(ledit_buffer *buffer, char *mark, size_t len, size_t line, size_t byte);
+void buffer_insert_mark(ledit_buffer *buffer, char *mark, size_t len, size_t line, size_t byte);
#endif
diff --git a/keys_basic.c b/keys_basic.c
@@ -180,7 +180,7 @@ clear_key_stack(void) {
static struct action
err_invalid_key(ledit_view *view) {
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
clear_key_stack();
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
@@ -423,7 +423,7 @@ delete_range(
);
cur_range.line2 = view->cur_line;
cur_range.byte2 = view->cur_index;
- ledit_push_undo_delete(
+ undo_push_delete(
view->buffer->undo, buf, del_range, cur_range, 1, view->mode
);
if (!copy_to_buffer)
@@ -450,7 +450,7 @@ insert_text(
del_range.line1 = line;
del_range.byte1 = index;
size_t cur_line, cur_index;
- ledit_buffer_insert_text_with_newlines(
+ buffer_insert_text_with_newlines(
view->buffer, line, index, text, len,
&cur_line, &cur_index
);
@@ -465,7 +465,7 @@ insert_text(
}
del_range.line2 = cur_line;
del_range.byte2 = cur_index;
- ledit_push_undo_insert(
+ undo_push_insert(
view->buffer->undo, &ins_buf, del_range, cur_range, start_group, view->mode
);
}
@@ -494,7 +494,7 @@ delete_chars_forwards(ledit_view *view, char *text, size_t len) {
(void)len;
int num = get_key_repeat();
if (num == -1) {
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
return (struct action){ACTION_NONE, NULL};
} else if (num == 0) {
num = 1;
@@ -521,7 +521,7 @@ delete_chars_backwards(ledit_view *view, char *text, size_t len) {
(void)len;
int num = get_key_repeat();
if (num == -1) {
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
return (struct action){ACTION_NONE, NULL};
} else if (num == 0) {
num = 1;
@@ -550,7 +550,7 @@ push_undo_empty_insert(ledit_view *view, size_t line, size_t index, int start_gr
txtbuf ins_buf = {.text = "", .len = 0, .cap = 0};
ledit_range ins_range = {.line1 = line, .byte1 = index, .line2 = line, .byte2 = index};
ledit_range cur_range = {.line1 = line, .byte1 = index, .line2 = line, .byte2 = index};
- ledit_push_undo_insert(
+ undo_push_insert(
view->buffer->undo, &ins_buf, ins_range, cur_range, start_group, view->mode
);
}
@@ -575,7 +575,7 @@ append_line_below(ledit_view *view, char *text, size_t len) {
size_t start, end;
enter_insert(view, text, len);
view_get_pos_softline_bounds(view, view->cur_line, view->cur_index, &start, &end);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line);
if (hard_line_based || end == ll->len) {
insert_text(view, view->cur_line, ll->len, "\n", 1, 0, 0, view->cur_line + 1, 0, 0, 1, 1);
} else {
@@ -602,7 +602,7 @@ append_after_eol(ledit_view *view, char *text, size_t len) {
view_get_pos_softline_bounds(view, view->cur_line, view->cur_index, &start, &end);
/* make cursor jump back to original position on undo */
push_undo_empty_insert(view, view->cur_line, view->cur_index, 1);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line);
if (hard_line_based)
view->cur_index = ll->len;
else
@@ -630,7 +630,7 @@ move_to_line(ledit_view *view, char *text, size_t len) {
view->cur_line = line - 1;
view->cur_index = 0;
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
ledit_view_line *vl = view_get_line(view, view->cur_line);
int x, y, h;
view_get_cursor_pixel_pos(view, view->cur_line, 0, &x, &y, &h);
@@ -659,7 +659,7 @@ scroll_lines(ledit_view *view, int lines, int dir) {
/* get the middle position of char */
ledit_pos_to_x_softline(view, view->cur_line, view->cur_index, &x, &sli);
long abs_pos = vl->y_offset + y;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
if (lines > 0)
final_lines = last_lines_scrolled = lines;
else
@@ -689,7 +689,7 @@ scroll_lines_up(ledit_view *view, char *text, size_t len) {
if (repeat >= 0)
scroll_lines(view, repeat, -1);
else
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -702,7 +702,7 @@ scroll_lines_down(ledit_view *view, char *text, size_t len) {
if (repeat >= 0)
scroll_lines(view, repeat, 1);
else
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -744,7 +744,7 @@ scroll_with_cursor_up(ledit_view *view, char *text, size_t len) {
if (repeat >= 0)
scroll_with_cursor(view, -(repeat == 0 ? 1 : repeat));
else
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -757,7 +757,7 @@ scroll_with_cursor_down(ledit_view *view, char *text, size_t len) {
if (repeat >= 0)
scroll_with_cursor(view, repeat == 0 ? 1 : repeat);
else
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -770,7 +770,7 @@ scroll_with_cursor_down(ledit_view *view, char *text, size_t len) {
static void
move_half_screen(ledit_view *view, int movement) {
int w, h;
- ledit_window_get_textview_size(view->window, &w, &h);
+ window_get_textview_size(view->window, &w, &h);
/* FIXME: overflow */
int total = movement * h/2;
ledit_view_line *vl = view_get_line(view, view->cur_line);
@@ -825,7 +825,7 @@ screen_up(ledit_view *view, char *text, size_t len) {
if (repeat >= 0)
move_half_screen(view, -(repeat == 0 ? 2 : repeat*2));
else
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -838,7 +838,7 @@ screen_down(ledit_view *view, char *text, size_t len) {
if (repeat >= 0)
move_half_screen(view, repeat == 0 ? 2 : repeat*2);
else
- ledit_window_show_message(view->window, "Invalid key", -1);
+ window_show_message(view->window, "Invalid key", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -850,7 +850,7 @@ delete_to_eol(ledit_view *view, char *text, size_t len) {
if (!key_stack_empty())
return err_invalid_key(view);
size_t start, end;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line);
if (hard_line_based) {
end = ll->len;
} else {
@@ -877,7 +877,7 @@ change_to_eol(ledit_view *view, char *text, size_t len) {
return err_invalid_key(view);
view_set_mode(view, INSERT);
size_t start, end;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line);
if (hard_line_based) {
end = ll->len;
} else {
@@ -947,7 +947,7 @@ change_cb(ledit_view *view, size_t line, size_t char_pos, enum key_type type) {
view_get_pos_softline_bounds(view, line, char_pos, &tmp, &pos2);
} else if (line_based && hard_line_based) {
pos1 = 0;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
pos2 = ll->len;
}
/* force line_based to 0 (see comment about hackery above) */
@@ -970,7 +970,7 @@ yank(ledit_view *view, char *text, size_t len) {
view_sort_selection(
&view->sel.line1, &view->sel.byte1, &view->sel.line2, &view->sel.byte2
);
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, paste_buffer,
view->sel.line1, view->sel.byte1, view->sel.line2, view->sel.byte2
);
@@ -1049,26 +1049,26 @@ yank_cb(ledit_view *view, size_t line, size_t char_pos, enum key_type type) {
size_t start1, end2, tmp;
view_get_pos_softline_bounds(view, l1, b1, &start1, &tmp);
view_get_pos_softline_bounds(view, l2, b2, &tmp, &end2);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, l2);
+ ledit_line *ll = buffer_get_line(view->buffer, l2);
if (end2 == ll->len && l2 < view->lines_num - 1) {
l2++;
end2 = 0;
}
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, paste_buffer, l1, start1, l2, end2
);
} else if (line_based && hard_line_based) {
- ledit_line *ll = ledit_buffer_get_line(view->buffer, l2);
+ ledit_line *ll = buffer_get_line(view->buffer, l2);
size_t end = ll->len;
if (l2 < view->lines_num - 1) {
l2++;
end = 0;
}
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, paste_buffer, l1, 0, l2, end
);
} else {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, paste_buffer, l1, b1, l2, b2
);
}
@@ -1138,13 +1138,13 @@ paste_normal(ledit_view *view, char *text, size_t len) {
(void)text;
(void)len;
if (!paste_buffer) {
- ledit_window_show_message(view->window, "Nothing to paste", -1);
+ window_show_message(view->window, "Nothing to paste", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
if (paste_buffer_line_based) {
view_wipe_line_cursor_attrs(view, view->cur_line);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line);
size_t brk = 0;
if (hard_line_based) {
brk = ll->len;
@@ -1157,7 +1157,7 @@ paste_normal(ledit_view *view, char *text, size_t len) {
"\n", 1, 0, 0, view->cur_line, view->cur_index, 0, 1, 1
);
size_t text_len = paste_buffer->len;
- ll = ledit_buffer_get_line(view->buffer, view->cur_line + 1);
+ ll = buffer_get_line(view->buffer, view->cur_line + 1);
if (ll->len == 0 && paste_buffer->text[text_len-1] == '\n') {
/* remove trailing newline if it exists and text is already on own line */
text_len--;
@@ -1194,13 +1194,13 @@ paste_normal_backwards(ledit_view *view, char *text, size_t len) {
(void)text;
(void)len;
if (!paste_buffer) {
- ledit_window_show_message(view->window, "Nothing to paste", -1);
+ window_show_message(view->window, "Nothing to paste", -1);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
if (paste_buffer_line_based) {
view_wipe_line_cursor_attrs(view, view->cur_line);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line);
size_t brk = 0;
if (!hard_line_based) {
size_t tmp;
@@ -1212,7 +1212,7 @@ paste_normal_backwards(ledit_view *view, char *text, size_t len) {
"\n", 1, 0, 0, view->cur_line, view->cur_index, 0, 1, 1
);
size_t text_len = paste_buffer->len;
- ll = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ll = buffer_get_line(view->buffer, view->cur_line);
if (paste_buffer->text[text_len-1] == '\n') {
/* remove trailing newline if it exists */
text_len--;
@@ -1363,12 +1363,12 @@ backspace(ledit_view *view, char *text, size_t len) {
/* NOP */
} else if (view->cur_index == 0) {
if (view->cur_line != 0) {
- ledit_line *l1 = ledit_buffer_get_line(view->buffer, view->cur_line - 1);
+ ledit_line *l1 = buffer_get_line(view->buffer, view->cur_line - 1);
delete_range(view, 0, 0, view->cur_line - 1, l1->len, view->cur_line, 0, 0);
}
} else {
- ledit_line *l = ledit_buffer_get_line(view->buffer, view->cur_line);
- int i = ledit_line_prev_utf8(l, view->cur_index);
+ ledit_line *l = buffer_get_line(view->buffer, view->cur_line);
+ int i = line_prev_utf8(l, view->cur_index);
delete_range(view, 0, 0, view->cur_line, view->cur_index, view->cur_line, i, 0);
}
return (struct action){ACTION_NONE, NULL};
@@ -1378,7 +1378,7 @@ static struct action
delete_key(ledit_view *view, char *text, size_t len) {
(void)text;
(void)len;
- ledit_line *cur_line = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *cur_line = buffer_get_line(view->buffer, view->cur_line);
if (delete_selection(view)) {
/* NOP */
} else if (view->cur_index == cur_line->len) {
@@ -1386,7 +1386,7 @@ delete_key(ledit_view *view, char *text, size_t len) {
delete_range(view, 0, 0, view->cur_line, cur_line->len, view->cur_line + 1, 0, 0);
}
} else {
- int i = ledit_line_next_utf8(cur_line, view->cur_index);
+ int i = line_next_utf8(cur_line, view->cur_index);
delete_range(view, 0, 0, view->cur_line, view->cur_index, view->cur_line, i, 0);
}
/* FIXME: This was probably a mistake earlier, right?
@@ -1411,7 +1411,7 @@ move_to_eol(ledit_view *view, char *text, size_t len) {
view, view->cur_line, view->cur_index, num - 1,
&new_line, &new_softline
);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, new_line);
+ ledit_line *ll = buffer_get_line(view->buffer, new_line);
size_t end_index = ll->len;
if (!hard_line_based) {
size_t tmp;
@@ -1461,7 +1461,7 @@ name(ledit_view *view, char *text, size_t len) {
if (cb != NULL) { \
cb(view, new_line, new_real_index, KEY_MOTION_CHAR); \
} else { \
- if (view->mode == VISUAL) { \
+ if (view->mode == VISUAL) { \
view_set_selection( \
view, \
view->sel.line1, view->sel.byte1, \
@@ -1502,7 +1502,7 @@ move_cursor_left_right(ledit_view *view, int dir, int allow_illegal_index) {
if (num == 0)
num = 1;
- ledit_line *cur_line = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *cur_line = buffer_get_line(view->buffer, view->cur_line);
/* FIXME: standardize interface - num * dir or separately? */
size_t last_index;
size_t new_index = view_move_cursor_visually(
@@ -1693,7 +1693,7 @@ join_lines(ledit_view *view, char *text, size_t len) {
/* getting cur line again should be unnecessary, but
I'll just leave it in case I change the way lines
are stored later */
- ll1 = ledit_buffer_get_line(view->buffer, cur_line);
+ ll1 = buffer_get_line(view->buffer, cur_line);
oldlen = ll1->len;
/* FIXME: truncate whitespace to one space */
view_delete_range(
@@ -1704,7 +1704,7 @@ join_lines(ledit_view *view, char *text, size_t len) {
cur_range.byte1 = view->cur_index;
cur_range.byte2 = view->cur_index =
view_get_legal_normal_pos(view, view->cur_line, oldlen);
- ledit_push_undo_delete(
+ undo_push_delete(
view->buffer->undo, buf, del_range, cur_range,
start_group, view->mode
);
@@ -1833,46 +1833,46 @@ static struct action
enter_commandedit(ledit_view *view, char *text, size_t len) {
(void)text;
(void)len;
- ledit_window_set_bottom_bar_text(view->window, ":", -1);
- ledit_window_set_bottom_bar_min_pos(view->window, 1);
- ledit_window_set_bottom_bar_cursor(view->window, 1);
+ window_set_bottom_bar_text(view->window, ":", -1);
+ window_set_bottom_bar_min_pos(view->window, 1);
+ window_set_bottom_bar_cursor(view->window, 1);
view->cur_command_type = CMD_EDIT;
- ledit_window_set_bottom_bar_text_shown(view->window, 1);
+ window_set_bottom_bar_text_shown(view->window, 1);
discard_repetition_stack();
- return (struct action){ACTION_GRABKEY, &ledit_command_key_handler};
+ return (struct action){ACTION_GRABKEY, &command_key_handler};
}
static struct action
enter_searchedit_forward(ledit_view *view, char *text, size_t len) {
(void)text;
(void)len;
- ledit_window_set_bottom_bar_text(view->window, "/", -1);
- ledit_window_set_bottom_bar_min_pos(view->window, 1);
- ledit_window_set_bottom_bar_cursor(view->window, 1);
+ window_set_bottom_bar_text(view->window, "/", -1);
+ window_set_bottom_bar_min_pos(view->window, 1);
+ window_set_bottom_bar_cursor(view->window, 1);
view->cur_command_type = CMD_EDITSEARCH;
- ledit_window_set_bottom_bar_text_shown(view->window, 1);
+ window_set_bottom_bar_text_shown(view->window, 1);
discard_repetition_stack();
- return (struct action){ACTION_GRABKEY, &ledit_command_key_handler};
+ return (struct action){ACTION_GRABKEY, &command_key_handler};
}
static struct action
enter_searchedit_backward(ledit_view *view, char *text, size_t len) {
(void)text;
(void)len;
- ledit_window_set_bottom_bar_text(view->window, "?", -1);
- ledit_window_set_bottom_bar_min_pos(view->window, 1);
- ledit_window_set_bottom_bar_cursor(view->window, 1);
+ window_set_bottom_bar_text(view->window, "?", -1);
+ window_set_bottom_bar_min_pos(view->window, 1);
+ window_set_bottom_bar_cursor(view->window, 1);
view->cur_command_type = CMD_EDITSEARCHB;
- ledit_window_set_bottom_bar_text_shown(view->window, 1);
+ window_set_bottom_bar_text_shown(view->window, 1);
discard_repetition_stack();
- return (struct action){ACTION_GRABKEY, &ledit_command_key_handler};
+ return (struct action){ACTION_GRABKEY, &command_key_handler};
}
/* FIXME: differentiate between jumping to line and index like nvi */
static struct action
mark_line_cb(ledit_view *view, char *text, size_t len) {
grab_char_cb = NULL;
- ledit_buffer_insert_mark(
+ buffer_insert_mark(
view->buffer, text, len, view->cur_line, view->cur_index
);
return (struct action){ACTION_NONE, NULL};
@@ -1896,11 +1896,11 @@ jump_to_mark_cb(ledit_view *view, char *text, size_t len) {
ledit_buffer_mark *m = &marklist->marks[i];
if (m->line >= view->lines_num) {
line = view->lines_num - 1;
- ll = ledit_buffer_get_line(view->buffer, line);
+ ll = buffer_get_line(view->buffer, line);
index = ll->len;
} else {
line = m->line;
- ll = ledit_buffer_get_line(view->buffer, m->line);
+ ll = buffer_get_line(view->buffer, m->line);
if (m->byte >= ll->len)
index = ll->len;
else
@@ -1983,7 +1983,7 @@ show_line(ledit_view *view, char *text, size_t len) {
int textlen = snprintf(NULL, 0, "Line %zu of %zu", view->cur_line + 1, view->lines_num);
char *str = ledit_malloc(textlen + 1);
snprintf(str, textlen + 1, "Line %zu of %zu", view->cur_line + 1, view->lines_num);
- ledit_window_show_message(view->window, str, textlen);
+ window_show_message(view->window, str, textlen);
discard_repetition_stack();
return (struct action){ACTION_NONE, NULL};
}
@@ -2101,7 +2101,7 @@ name##_cb(ledit_view *view, char *text, size_t len) {
return err_invalid_key(view); \
if (num == 0) \
num = 1; \
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->cur_line); \
+ ledit_line *ll = buffer_get_line(view->buffer, view->cur_line); \
size_t new_index = view->cur_index; \
int ret = -1; \
for (int i = 0; i < num; i++) { \
@@ -2118,7 +2118,7 @@ name##_cb(ledit_view *view, char *text, size_t len) {
); \
cb(view, view->cur_line, new_index, KEY_MOTION_CHAR); \
} else { \
- if (view->mode == VISUAL) { \
+ if (view->mode == VISUAL) { \
view->cur_index = cur_funcv( \
view, view->cur_line, new_index, 1 \
); \
@@ -2145,7 +2145,7 @@ name##_cb(ledit_view *view, char *text, size_t len) {
\
static struct action \
name(ledit_view *view, char *text, size_t len) { \
- (void)view; \
+ (void)view; \
(void)text; \
(void)len; \
grab_char_cb = &name##_cb; \
@@ -2215,7 +2215,7 @@ toggle_hard_line_based(ledit_view *view, char *text, size_t len) {
int num = get_key_repeat();
if (num != 0)
return err_invalid_key(view);
- ledit_buffer_set_hard_line_based(view->buffer, !view->buffer->hard_line_based);
+ buffer_set_hard_line_based(view->buffer, !view->buffer->hard_line_based);
return (struct action){ACTION_NONE, NULL};
}
@@ -2295,7 +2295,7 @@ basic_key_handler(ledit_view *view, XEvent *event, int lang_index) {
re->lang_index = lang_index;
/* FIXME: only hide when actually necessary */
- ledit_window_hide_message(view->window);
+ window_hide_message(view->window);
int found = 0;
struct action act = handle_key(view, buf, (size_t)n, sym, key_state, lang_index, &found);
diff --git a/keys_command.c b/keys_command.c
@@ -47,7 +47,7 @@ handle_write(ledit_view *view, char *cmd, size_t l1, size_t l2) {
/* FIXME: Implement properly; handle error */
char *errstr;
if (view->buffer->filename)
- ledit_buffer_write_to_file(view->buffer, view->buffer->filename, &errstr);
+ buffer_write_to_file(view->buffer, view->buffer->filename, &errstr);
return 0;
}
@@ -68,7 +68,7 @@ create_view(ledit_view *view, char *cmd, size_t l1, size_t l2) {
(void)cmd;
(void)l1;
(void)l2;
- ledit_buffer_add_view(view->buffer, view->theme, view->mode, view->cur_line, view->cur_index);
+ buffer_add_view(view->buffer, view->theme, view->mode, view->cur_line, view->cur_index);
return 0;
}
@@ -79,7 +79,7 @@ close_view(ledit_view *view, char *cmd, size_t l1, size_t l2) {
(void)l2;
/* FIXME: This will lead to problems if I add something that
requires access to the view after the command is handled. */
- ledit_buffer_remove_view(view->buffer, view);
+ buffer_remove_view(view->buffer, view);
if (view->buffer->views_num == 0) {
ledit_cleanup();
exit(0);
@@ -264,8 +264,8 @@ substitute_no_all(ledit_view *view, char *key_text, size_t len) {
static int
edit_insert_text(ledit_view *view, char *key_text, size_t len) {
/* FIXME: overflow */
- ledit_window_insert_bottom_bar_text(view->window, key_text, len);
- ledit_window_set_bottom_bar_cursor(
+ window_insert_bottom_bar_text(view->window, key_text, len);
+ window_set_bottom_bar_cursor(
view->window, ledit_window_get_bottom_bar_cursor(view->window) + len
);
return 1;
@@ -275,7 +275,7 @@ static int
edit_cursor_to_end(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_bottom_bar_cursor_to_end(view->window);
+ window_bottom_bar_cursor_to_end(view->window);
return 1;
}
@@ -283,7 +283,7 @@ static int
edit_cursor_to_beginning(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_bottom_bar_cursor_to_beginning(view->window);
+ window_bottom_bar_cursor_to_beginning(view->window);
return 1;
}
@@ -291,7 +291,7 @@ static int
edit_cursor_left(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_move_bottom_bar_cursor(view->window, -1);
+ window_move_bottom_bar_cursor(view->window, -1);
return 1;
}
@@ -299,7 +299,7 @@ static int
edit_cursor_right(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_move_bottom_bar_cursor(view->window, 1);
+ window_move_bottom_bar_cursor(view->window, 1);
return 1;
}
@@ -307,7 +307,7 @@ static int
edit_backspace(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_delete_bottom_bar_char(view->window, -1);
+ window_delete_bottom_bar_char(view->window, -1);
return 1;
}
@@ -315,7 +315,7 @@ static int
edit_delete(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_delete_bottom_bar_char(view->window, 1);
+ window_delete_bottom_bar_char(view->window, 1);
return 1;
}
@@ -323,9 +323,9 @@ static int
edit_submit(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_set_bottom_bar_text_shown(view->window, 0);
+ window_set_bottom_bar_text_shown(view->window, 0);
/* FIXME: this is hacky */
- return handle_cmd(view, ledit_window_get_bottom_bar_text(view->window) + 1, -1);
+ return handle_cmd(view, window_get_bottom_bar_text(view->window) + 1, -1);
}
/* FIXME: support visual mode, i.e. change selection to new place? */
@@ -335,7 +335,7 @@ search_next(ledit_view *view) {
enum ledit_search_state ret = ledit_search_next(view, &view->cur_line, &view->cur_index);
view_set_line_cursor_attrs(view, view->cur_line, view->cur_index);
if (ret != SEARCH_NORMAL)
- ledit_window_show_message(view->window, ledit_search_state_to_str(ret), -1);
+ window_show_message(view->window, search_state_to_str(ret), -1);
}
void
@@ -344,15 +344,15 @@ search_prev(ledit_view *view) {
enum ledit_search_state ret = ledit_search_prev(view, &view->cur_line, &view->cur_index);
view_set_line_cursor_attrs(view, view->cur_line, view->cur_index);
if (ret != SEARCH_NORMAL)
- ledit_window_show_message(view->window, ledit_search_state_to_str(ret), -1);
+ window_show_message(view->window, search_state_to_str(ret), -1);
}
static int
editsearch_submit(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_set_bottom_bar_text_shown(view->window, 0);
- ledit_set_search_forward(ledit_window_get_bottom_bar_text(view->window) + 1);
+ window_set_bottom_bar_text_shown(view->window, 0);
+ set_search_forward(window_get_bottom_bar_text(view->window) + 1);
search_next(view);
return 0;
}
@@ -361,8 +361,8 @@ static int
editsearchb_submit(ledit_view *view, char *key_text, size_t len) {
(void)key_text;
(void)len;
- ledit_window_set_bottom_bar_text_shown(view->window, 0);
- ledit_set_search_backward(ledit_window_get_bottom_bar_text(view->window) + 1);
+ window_set_bottom_bar_text_shown(view->window, 0);
+ set_search_backward(window_get_bottom_bar_text(view->window) + 1);
search_next(view);
return 0;
}
@@ -372,12 +372,12 @@ edit_discard(ledit_view *view, char *key_text, size_t len) {
(void)view;
(void)key_text;
(void)len;
- ledit_window_set_bottom_bar_text_shown(view->window, 0);
+ window_set_bottom_bar_text_shown(view->window, 0);
return 0;
}
struct action
-ledit_command_key_handler(ledit_view *view, XEvent *event, int lang_index) {
+command_key_handler(ledit_view *view, XEvent *event, int lang_index) {
char buf[64];
KeySym sym;
int n;
@@ -404,7 +404,7 @@ ledit_command_key_handler(ledit_view *view, XEvent *event, int lang_index) {
}
}
if (grabkey)
- return (struct action){ACTION_GRABKEY, &ledit_command_key_handler};
+ return (struct action){ACTION_GRABKEY, &command_key_handler};
else
return (struct action){ACTION_NONE, NULL};
}
diff --git a/keys_command.h b/keys_command.h
@@ -2,4 +2,4 @@
void search_next(ledit_view *view);
void search_prev(ledit_view *view);
-struct action ledit_command_key_handler(ledit_view *view, XEvent *event, int lang_index);
+struct action command_key_handler(ledit_view *view, XEvent *event, int lang_index);
diff --git a/ledit.c b/ledit.c
@@ -1,3 +1,6 @@
+/* FIXME: On large files, expose event takes a long time for some reason
+ -> but somehow only sometimes... */
+/* FIXME: generally optimize redrawing */
/* FIXME: Just use int for everything? size_t just doesn't seem to be worth it */
/* FIXME: Make scrolling more smooth */
/* FIXME: Document that everything is assumed to be utf8 */
@@ -119,23 +122,23 @@ mainloop(void) {
view->redraw = 1;
break;
case ConfigureNotify:
- ledit_window_register_resize(view->window, &event);
+ window_register_resize(view->window, &event);
break;
case ButtonPress:
- ledit_window_register_button_press(view->window, &event);
+ window_register_button_press(view->window, &event);
break;
case ButtonRelease:
- ledit_window_button_release(view->window, &event);
+ window_button_release(view->window, &event);
break;
case MotionNotify:
- ledit_window_register_motion(window, &event);
+ window_register_motion(window, &event);
break;
case KeyPress:
key_press(view, &event);
break;
case ClientMessage:
if ((Atom)event.xclient.data.l[0] == view->window->wm_delete_msg) {
- ledit_buffer_remove_view(buffer, view);
+ buffer_remove_view(buffer, view);
if (buffer->views_num == 0)
running = 0;
}
@@ -143,7 +146,7 @@ mainloop(void) {
case SelectionNotify:
case PropertyNotify:
case SelectionRequest:
- ledit_window_clipboard_event(view->window, &event);
+ window_clipboard_event(view->window, &event);
break;
default:
break;
@@ -151,7 +154,7 @@ mainloop(void) {
};
for (size_t i = 0; i < buffer->views_num; i++) {
- ledit_window_handle_filtered_events(buffer->views[i]->window);
+ window_handle_filtered_events(buffer->views[i]->window);
}
if (change_kbd) {
@@ -229,12 +232,12 @@ setup(int argc, char *argv[]) {
common.depth = DefaultDepth(common.dpy, common.screen);
common.cm = DefaultColormap(common.dpy, common.screen);
- theme = ledit_theme_create(&common);
- buffer = ledit_buffer_create(&common);
+ theme = theme_create(&common);
+ buffer = buffer_create(&common);
/* FIXME: Support multiple buffers/files */
if (argc > 1) {
char *load_err;
- if (ledit_buffer_load_file(buffer, argv[1], 0, &load_err)) {
+ if (buffer_load_file(buffer, argv[1], 0, &load_err)) {
fprintf(stderr, "Error opening file '%s': %s\n", argv[1], load_err);
ledit_cleanup();
exit(1);
@@ -242,7 +245,7 @@ setup(int argc, char *argv[]) {
/* FIXME: encapsulate */
buffer->filename = ledit_strdup(argv[1]);
}
- ledit_buffer_add_view(buffer, theme, NORMAL, 0, 0);
+ buffer_add_view(buffer, theme, NORMAL, 0, 0);
/* FIXME: don't access view directly here */
ledit_view *view = buffer->views[0];
view_set_line_cursor_attrs(view, view->cur_line, view->cur_index);
@@ -253,12 +256,12 @@ setup(int argc, char *argv[]) {
void
ledit_cleanup(void) {
/* FIXME: check for other things to clean up */
- ledit_search_cleanup();
+ search_cleanup();
basic_key_cleanup();
if (buffer)
- ledit_buffer_destroy(buffer);
+ buffer_destroy(buffer);
if (theme)
- ledit_theme_destroy(&common, theme);
+ theme_destroy(&common, theme);
XCloseDisplay(common.dpy);
}
diff --git a/search.c b/search.c
@@ -26,19 +26,19 @@ enum {
} last_dir = FORWARD;
void
-ledit_search_cleanup(void) {
+search_cleanup(void) {
free(last_search);
}
void
-ledit_set_search_forward(char *pattern) {
+set_search_forward(char *pattern) {
last_dir = FORWARD;
free(last_search);
last_search = ledit_strdup(pattern);
}
void
-ledit_set_search_backward(char *pattern) {
+set_search_backward(char *pattern) {
last_dir = BACKWARD;
free(last_search);
last_search = ledit_strdup(pattern);
@@ -55,16 +55,16 @@ search_forward(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
note: since the string ends with '\0', this is always valid */
size_t byte = view->cur_index + 1;
char *res;
- ledit_line *lline = ledit_buffer_get_line(view->buffer, line);
- ledit_buffer_normalize_line(lline);
+ ledit_line *lline = buffer_get_line(view->buffer, line);
+ buffer_normalize_line(lline);
if ((res = strstr(lline->text + byte, last_search)) != NULL) {
*line_ret = line;
*byte_ret = (size_t)(res - lline->text);
return SEARCH_NORMAL;
}
for (size_t i = line + 1; i < view->lines_num; i++) {
- lline = ledit_buffer_get_line(view->buffer, i);
- ledit_buffer_normalize_line(lline);
+ lline = buffer_get_line(view->buffer, i);
+ buffer_normalize_line(lline);
if ((res = strstr(lline->text, last_search)) != NULL) {
*line_ret = i;
*byte_ret = (size_t)(res - lline->text);
@@ -72,16 +72,16 @@ search_forward(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
}
}
for (size_t i = 0; i < line; i++) {
- lline = ledit_buffer_get_line(view->buffer, i);
- ledit_buffer_normalize_line(lline);
+ lline = buffer_get_line(view->buffer, i);
+ buffer_normalize_line(lline);
if ((res = strstr(lline->text, last_search)) != NULL) {
*line_ret = i;
*byte_ret = (size_t)(res - lline->text);
return SEARCH_WRAPPED;
}
}
- lline = ledit_buffer_get_line(view->buffer, line);
- ledit_buffer_normalize_line(lline);
+ lline = buffer_get_line(view->buffer, line);
+ buffer_normalize_line(lline);
if ((res = strstr(lline->text, last_search)) != NULL) {
*line_ret = line;
*byte_ret = (size_t)(res - lline->text);
@@ -100,8 +100,8 @@ search_backward(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
return SEARCH_NO_PATTERN;
size_t line = view->cur_line;
size_t byte = view->cur_index;
- ledit_line *lline = ledit_buffer_get_line(view->buffer, line);
- ledit_buffer_normalize_line(lline);
+ ledit_line *lline = buffer_get_line(view->buffer, line);
+ buffer_normalize_line(lline);
char *last = NULL, *res = lline->text;
while ((res = strstr(res, last_search)) != NULL && res < lline->text + byte) {
last = res;
@@ -114,8 +114,8 @@ search_backward(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
return SEARCH_NORMAL;
}
for (size_t i = line; i > 0; i--) {
- lline = ledit_buffer_get_line(view->buffer, i-1);
- ledit_buffer_normalize_line(lline);
+ lline = buffer_get_line(view->buffer, i-1);
+ buffer_normalize_line(lline);
res = lline->text;
while ((res = strstr(res, last_search)) != NULL) {
last = res;
@@ -128,8 +128,8 @@ search_backward(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
}
}
for (size_t i = view->lines_num - 1; i > line; i--) {
- lline = ledit_buffer_get_line(view->buffer, i);
- ledit_buffer_normalize_line(lline);
+ lline = buffer_get_line(view->buffer, i);
+ buffer_normalize_line(lline);
res = lline->text;
while ((res = strstr(res, last_search)) != NULL) {
last = res;
@@ -141,8 +141,8 @@ search_backward(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
return SEARCH_WRAPPED;
}
}
- lline = ledit_buffer_get_line(view->buffer, line);
- ledit_buffer_normalize_line(lline);
+ lline = buffer_get_line(view->buffer, line);
+ buffer_normalize_line(lline);
res = lline->text + byte;
while ((res = strstr(res, last_search)) != NULL) {
last = res;
@@ -173,7 +173,7 @@ ledit_search_prev(ledit_view *view, size_t *line_ret, size_t *byte_ret) {
}
char *
-ledit_search_state_to_str(enum ledit_search_state state) {
+search_state_to_str(enum ledit_search_state state) {
switch (state) {
case SEARCH_WRAPPED:
return "Search wrapped";
diff --git a/search.h b/search.h
@@ -5,9 +5,9 @@ enum ledit_search_state {
SEARCH_NO_PATTERN
};
-void ledit_search_cleanup(void);
-void ledit_set_search_forward(char *pattern);
-void ledit_set_search_backward(char *pattern);
+void search_cleanup(void);
+void set_search_forward(char *pattern);
+void set_search_backward(char *pattern);
enum ledit_search_state ledit_search_next(ledit_view *view, size_t *line_ret, size_t *byte_ret);
enum ledit_search_state ledit_search_prev(ledit_view *view, size_t *line_ret, size_t *byte_ret);
-char *ledit_search_state_to_str(enum ledit_search_state state);
+char *search_state_to_str(enum ledit_search_state state);
diff --git a/theme.c b/theme.c
@@ -9,7 +9,7 @@
#include "theme_config.h"
ledit_theme *
-ledit_theme_create(ledit_common *common) {
+theme_create(ledit_common *common) {
ledit_theme *theme = ledit_malloc(sizeof(ledit_theme));
theme->scrollbar_width = SCROLLBAR_WIDTH;
theme->scrollbar_step = SCROLLBAR_STEP;
@@ -26,7 +26,7 @@ ledit_theme_create(ledit_common *common) {
}
void
-ledit_theme_destroy(ledit_common *common, ledit_theme *theme) {
+theme_destroy(ledit_common *common, ledit_theme *theme) {
XftColorFree(common->dpy, common->vis, common->cm, &theme->text_fg);
XftColorFree(common->dpy, common->vis, common->cm, &theme->text_bg);
XftColorFree(common->dpy, common->vis, common->cm, &theme->scrollbar_fg);
diff --git a/theme.h b/theme.h
@@ -12,5 +12,5 @@ typedef struct {
const char *scrollbar_bg_hex;
} ledit_theme;
-ledit_theme *ledit_theme_create(ledit_common *common);
-void ledit_theme_destroy(ledit_common *common, ledit_theme *theme);
+ledit_theme *theme_create(ledit_common *common);
+void theme_destroy(ledit_common *common, ledit_theme *theme);
diff --git a/undo.c b/undo.c
@@ -40,16 +40,16 @@ typedef struct {
int mode_group;
} undo_elem;
-struct ledit_undo_stack {
+struct undo_stack {
/* FIXME: size_t? */
int len, cur, cap;
undo_elem *stack;
int change_mode_group;
};
-ledit_undo_stack *
-ledit_undo_stack_create(void) {
- ledit_undo_stack *undo = ledit_malloc(sizeof(ledit_undo_stack));
+undo_stack *
+undo_stack_create(void) {
+ undo_stack *undo = ledit_malloc(sizeof(undo_stack));
undo->len = undo->cap = 0;
undo->cur = -1;
undo->stack = NULL;
@@ -58,14 +58,14 @@ ledit_undo_stack_create(void) {
}
void
-ledit_undo_stack_destroy(ledit_undo_stack *undo) {
+undo_stack_destroy(undo_stack *undo) {
free(undo->stack);
free(undo);
}
/* FIXME: resize text buffers when they aren't needed anymore */
static undo_elem *
-push_undo_elem(ledit_undo_stack *undo) {
+push_undo_elem(undo_stack *undo) {
assert(undo->cur >= -1);
undo->cur++;
undo->len = undo->cur + 1;
@@ -82,20 +82,20 @@ push_undo_elem(ledit_undo_stack *undo) {
}
static undo_elem *
-peek_undo_elem(ledit_undo_stack *undo) {
+peek_undo_elem(undo_stack *undo) {
if (undo->cur < 0)
return NULL;
return &undo->stack[undo->cur];
}
void
-ledit_change_mode_group(ledit_undo_stack *undo) {
+undo_change_mode_group(undo_stack *undo) {
undo->change_mode_group = 1;
}
static void
push_undo(
- ledit_undo_stack *undo, txtbuf *text,
+ undo_stack *undo, txtbuf *text,
ledit_range insert_range,
ledit_range cursor_range,
int start_group,
@@ -118,8 +118,8 @@ push_undo(
}
void
-ledit_push_undo_insert(
- ledit_undo_stack *undo, txtbuf *text,
+undo_push_insert(
+ undo_stack *undo, txtbuf *text,
ledit_range insert_range, ledit_range cursor_range,
int start_group, enum ledit_mode mode) {
push_undo(
@@ -129,8 +129,8 @@ ledit_push_undo_insert(
}
void
-ledit_push_undo_delete(
- ledit_undo_stack *undo, txtbuf *text,
+undo_push_delete(
+ undo_stack *undo, txtbuf *text,
ledit_range insert_range, ledit_range cursor_range,
int start_group, enum ledit_mode mode) {
push_undo(
@@ -139,8 +139,8 @@ ledit_push_undo_delete(
);
}
-ledit_undo_status
-ledit_undo(ledit_undo_stack *undo, enum ledit_mode mode, void *callback_data,
+undo_status
+ledit_undo(undo_stack *undo, enum ledit_mode mode, void *callback_data,
undo_insert_callback insert_cb, undo_delete_callback delete_cb,
size_t *cur_line_ret, size_t *cur_index_ret, size_t *min_line_ret) {
undo_elem *e;
@@ -209,8 +209,8 @@ ledit_undo(ledit_undo_stack *undo, enum ledit_mode mode, void *callback_data,
return UNDO_NORMAL;
}
-ledit_undo_status
-ledit_redo(ledit_undo_stack *undo, enum ledit_mode mode, void *callback_data,
+undo_status
+ledit_redo(undo_stack *undo, enum ledit_mode mode, void *callback_data,
undo_insert_callback insert_cb, undo_delete_callback delete_cb,
size_t *cur_line_ret, size_t *cur_index_ret, size_t *min_line_ret) {
undo_elem *e;
diff --git a/undo.h b/undo.h
@@ -2,32 +2,32 @@ typedef enum {
UNDO_NORMAL,
UNDO_OLDEST_CHANGE,
UNDO_NEWEST_CHANGE
-} ledit_undo_status;
+} undo_status;
-typedef struct ledit_undo_stack ledit_undo_stack;
+typedef struct undo_stack undo_stack;
typedef void (*undo_insert_callback)(void *, size_t, size_t, char *, size_t);
typedef void (*undo_delete_callback)(void *, size_t, size_t, size_t, size_t);
-ledit_undo_stack *ledit_undo_stack_create(void);
-void ledit_undo_stack_destroy(ledit_undo_stack *undo);
-void ledit_change_mode_group(ledit_undo_stack *undo);
-void ledit_push_undo_insert(
- ledit_undo_stack *undo, txtbuf *text,
+undo_stack *undo_stack_create(void);
+void undo_stack_destroy(undo_stack *undo);
+void undo_change_mode_group(undo_stack *undo);
+void undo_push_insert(
+ undo_stack *undo, txtbuf *text,
ledit_range insert_range, ledit_range cursor_range,
int start_group, enum ledit_mode mode
);
-void ledit_push_undo_delete(
- ledit_undo_stack *undo, txtbuf *text,
+void undo_push_delete(
+ undo_stack *undo, txtbuf *text,
ledit_range insert_range, ledit_range cursor_range,
int start_group, enum ledit_mode mode
);
-ledit_undo_status ledit_undo(
- ledit_undo_stack *undo, enum ledit_mode mode,
+undo_status ledit_undo(
+ undo_stack *undo, enum ledit_mode mode,
void *callback_data, undo_insert_callback insert_cb, undo_delete_callback delete_cb,
size_t *cur_line_ret, size_t *cur_index_ret, size_t *min_line_ret
);
-ledit_undo_status ledit_redo(
- ledit_undo_stack *undo, enum ledit_mode mode,
+undo_status ledit_redo(
+ undo_stack *undo, enum ledit_mode mode,
void *callback_data, undo_insert_callback insert_cb, undo_delete_callback delete_cb,
size_t *cur_line_ret, size_t *cur_index_ret, size_t *min_line_ret
);
diff --git a/util.c b/util.c
@@ -13,7 +13,7 @@
#include "util.h"
ledit_draw *
-ledit_draw_create(ledit_window *window, int w, int h) {
+draw_create(ledit_window *window, int w, int h) {
ledit_draw *draw = ledit_malloc(sizeof(ledit_draw));
draw->w = w;
draw->h = h;
@@ -27,7 +27,7 @@ ledit_draw_create(ledit_window *window, int w, int h) {
}
void
-ledit_draw_grow(ledit_window *window, ledit_draw *draw, int w, int h) {
+draw_grow(ledit_window *window, ledit_draw *draw, int w, int h) {
/* FIXME: sensible default pixmap sizes here */
/* FIXME: maybe shrink the pixmaps at some point */
if (draw->w < w || draw->h < h) {
@@ -43,7 +43,7 @@ ledit_draw_grow(ledit_window *window, ledit_draw *draw, int w, int h) {
}
void
-ledit_draw_destroy(ledit_window *window, ledit_draw *draw) {
+draw_destroy(ledit_window *window, ledit_draw *draw) {
XFreePixmap(window->common->dpy, draw->pixmap);
XftDrawDestroy(draw->xftdraw);
free(draw);
diff --git a/util.h b/util.h
@@ -6,6 +6,6 @@ typedef struct {
int w, h;
} ledit_draw;
-ledit_draw *ledit_draw_create(ledit_window *window, int w, int h);
-void ledit_draw_grow(ledit_window *window, ledit_draw *draw, int w, int h);
-void ledit_draw_destroy(ledit_window *window, ledit_draw *draw);
+ledit_draw *draw_create(ledit_window *window, int w, int h);
+void draw_grow(ledit_window *window, ledit_draw *draw, int w, int h);
+void draw_destroy(ledit_window *window, ledit_draw *draw);
diff --git a/view.c b/view.c
@@ -71,8 +71,8 @@ static void invalidate_layout_line_helper(void *data, size_t line);
void
view_set_mode(ledit_view *view, enum ledit_mode mode) {
view->mode = mode;
- ledit_change_mode_group(view->buffer->undo);
- ledit_window_set_mode(view->window, mode);
+ undo_change_mode_group(view->buffer->undo);
+ window_set_mode(view->window, mode);
}
ledit_view *
@@ -88,13 +88,13 @@ view_create(ledit_buffer *buffer, ledit_theme *theme, enum ledit_mode mode, size
ledit_view *view = ledit_malloc(sizeof(ledit_view));
view->mode = mode;
view->buffer = buffer;
- view->window = ledit_window_create(buffer->common, theme, mode);
+ view->window = window_create(buffer->common, theme, mode);
view->theme = theme;
view->cache = cache_create(buffer->common->dpy);
view->cur_action = (struct action){ACTION_NONE, NULL};
- ledit_window_set_scroll_callback(view->window, &view_scroll_handler, view);
- ledit_window_set_button_callback(view->window, &view_button_handler, view);
- ledit_window_set_resize_callback(view->window, &view_resize_textview, view);
+ window_set_scroll_callback(view->window, &view_scroll_handler, view);
+ window_set_button_callback(view->window, &view_button_handler, view);
+ window_set_resize_callback(view->window, &view_resize_textview, view);
view->lines = ledit_reallocarray(NULL, buffer->lines_cap, sizeof(ledit_view_line));
view->lines_cap = buffer->lines_cap;
@@ -235,7 +235,7 @@ view_notify_delete_lines(ledit_view *view, size_t index1, size_t index2) {
void
view_destroy(ledit_view *view) {
cache_destroy(view->cache);
- ledit_window_destroy(view->window);
+ window_destroy(view->window);
free(view->lines);
free(view);
}
@@ -269,7 +269,7 @@ get_pango_attributes(ledit_view *view, size_t start_byte, size_t end_byte) {
/* this takes layout directly to possibly avoid infinite recursion */
static void
set_line_layout_attrs(ledit_view *view, size_t line, PangoLayout *layout) {
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
ledit_view_line *vl = view_get_line(view, line);
PangoAttrList *list = NULL;
if (view->sel_valid) {
@@ -375,7 +375,7 @@ view_render_line(ledit_view *view, size_t line_index) {
static void
init_line(ledit_view *view, ledit_view_line *line) {
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
line->view = view;
line->w = text_w;
line->h = 0;
@@ -429,7 +429,7 @@ view_recalc_line(ledit_view *view, size_t line) {
set_pango_text_and_highlight(view, line);
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
/* if height changed, set height of current line
* and adjust offsets of all lines following it */
if (l->h_dirty) {
@@ -449,7 +449,7 @@ view_recalc_line(ledit_view *view, size_t line) {
l->y_offset + l->h >= view->display_offset) {
view->redraw = 1;
}
- ledit_window_set_scroll_max(view->window, view->total_height);
+ window_set_scroll_max(view->window, view->total_height);
view_scroll(view, view->display_offset);
}
@@ -459,7 +459,7 @@ void
view_recalc_from_line(ledit_view *view, size_t line) {
ledit_view_line *l = view_get_line(view, line);
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
long off = l->y_offset;
if (off < view->display_offset + text_h)
view->redraw = 1;
@@ -472,7 +472,7 @@ view_recalc_from_line(ledit_view *view, size_t line) {
off += l->h;
}
view->total_height = off;
- ledit_window_set_scroll_max(view->window, view->total_height);
+ window_set_scroll_max(view->window, view->total_height);
view_scroll(view, view->display_offset);
}
@@ -487,7 +487,7 @@ view_recalc_all_lines(ledit_view *view) {
int
view_line_visible(ledit_view *view, size_t index) {
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
ledit_view_line *l = view_get_line(view, index);
return l->y_offset < view->display_offset + text_h &&
l->y_offset + l->h > view->display_offset;
@@ -498,7 +498,7 @@ view_line_visible(ledit_view *view, size_t index) {
size_t
view_next_cursor_pos(ledit_view *view, size_t line, size_t byte, int num) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
size_t c = line_byte_to_char(ll, byte);
size_t cur_byte = byte;
PangoLayout *layout = get_pango_layout(view, line);
@@ -507,11 +507,11 @@ view_next_cursor_pos(ledit_view *view, size_t line, size_t byte, int num) {
if (num < 0)
return 0; /* FIXME: error */
for (size_t i = 0; i < (size_t)num; i++) {
- cur_byte = ledit_line_next_utf8(ll, byte);
+ cur_byte = line_next_utf8(ll, byte);
for (c++; c < (size_t)nattrs; c++) {
if (attrs[c].is_cursor_position)
break;
- cur_byte = ledit_line_next_utf8(ll, cur_byte);
+ cur_byte = line_next_utf8(ll, cur_byte);
}
if (cur_byte >= ll->len)
break;
@@ -522,7 +522,7 @@ view_next_cursor_pos(ledit_view *view, size_t line, size_t byte, int num) {
size_t
view_prev_cursor_pos(ledit_view *view, size_t line, size_t byte, int num) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
size_t c = line_byte_to_char(ll, byte);
size_t cur_byte = byte;
PangoLayout *layout = get_pango_layout(view, line);
@@ -531,11 +531,11 @@ view_prev_cursor_pos(ledit_view *view, size_t line, size_t byte, int num) {
if (num < 0)
return 0; /* FIXME: error */
for (int i = 0; i < num; i++) {
- cur_byte = ledit_line_prev_utf8(ll, cur_byte);
+ cur_byte = line_prev_utf8(ll, cur_byte);
for (; c > 0; c--) {
if (attrs[c-1].is_cursor_position)
break;
- cur_byte = ledit_line_prev_utf8(ll, cur_byte);
+ cur_byte = line_prev_utf8(ll, cur_byte);
}
if (cur_byte <= 0)
break;
@@ -549,8 +549,8 @@ line_next_word(
size_t line, size_t byte, size_t char_index, int wrapped_line,
size_t *char_ret, size_t *byte_ret, size_t *real_byte_ret) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
- int cur_byte = wrapped_line ? byte : ledit_line_next_utf8(ll, byte);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
+ int cur_byte = wrapped_line ? byte : line_next_utf8(ll, byte);
PangoLayout *layout = get_pango_layout(view, line);
const PangoLogAttr *attrs =
pango_layout_get_log_attrs_readonly(layout, &nattrs);
@@ -561,7 +561,7 @@ line_next_word(
*byte_ret = cur_byte;
return 0;
}
- cur_byte = ledit_line_next_utf8(ll, cur_byte);
+ cur_byte = line_next_utf8(ll, cur_byte);
}
return -1;
}
@@ -572,8 +572,8 @@ line_prev_word(
size_t line, size_t byte, size_t char_index,
size_t *char_ret, size_t *byte_ret) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
- size_t cur_byte = ledit_line_prev_utf8(ll, byte);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
+ size_t cur_byte = line_prev_utf8(ll, byte);
PangoLayout *layout = get_pango_layout(view, line);
const PangoLogAttr *attrs =
pango_layout_get_log_attrs_readonly(layout, &nattrs);
@@ -586,7 +586,7 @@ line_prev_word(
*byte_ret = cur_byte;
return 0;
}
- cur_byte = ledit_line_prev_utf8(ll, cur_byte);
+ cur_byte = line_prev_utf8(ll, cur_byte);
}
return -1;
}
@@ -597,8 +597,8 @@ line_prev_bigword(
size_t line, size_t byte, size_t char_index,
size_t *char_ret, size_t *byte_ret) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
- size_t cur_byte = ledit_line_prev_utf8(ll, byte);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
+ size_t cur_byte = line_prev_utf8(ll, byte);
PangoLayout *layout = get_pango_layout(view, line);
const PangoLogAttr *attrs =
pango_layout_get_log_attrs_readonly(layout, &nattrs);
@@ -623,7 +623,7 @@ line_prev_bigword(
next_cursorc = i-1;
next_cursorb = cur_byte;
}
- cur_byte = ledit_line_prev_utf8(ll, cur_byte);
+ cur_byte = line_prev_utf8(ll, cur_byte);
}
return -1;
}
@@ -634,7 +634,7 @@ line_next_bigword_end(
size_t line, size_t byte, size_t char_index, int wrapped_line,
size_t *char_ret, size_t *byte_ret, size_t *real_byte_ret) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
PangoLayout *layout = get_pango_layout(view, line);
const PangoLogAttr *attrs =
pango_layout_get_log_attrs_readonly(layout, &nattrs);
@@ -663,7 +663,7 @@ line_next_bigword_end(
last_cursorb = cur_byte;
last_cursor_valid = 1;
}
- cur_byte = ledit_line_next_utf8(ll, cur_byte);
+ cur_byte = line_next_utf8(ll, cur_byte);
}
return -1;
}
@@ -674,8 +674,8 @@ line_next_word_end(
size_t line, size_t byte, size_t char_index, int wrapped_line,
size_t *char_ret, size_t *byte_ret, size_t *real_byte_ret) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
- size_t cur_byte = ledit_line_next_utf8(ll, byte);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
+ size_t cur_byte = line_next_utf8(ll, byte);
PangoLayout *layout = get_pango_layout(view, line);
const PangoLogAttr *attrs =
pango_layout_get_log_attrs_readonly(layout, &nattrs);
@@ -700,7 +700,7 @@ line_next_word_end(
last_cursorb = cur_byte;
last_cursor_valid = 1;
}
- cur_byte = ledit_line_next_utf8(ll, cur_byte);
+ cur_byte = line_next_utf8(ll, cur_byte);
}
return -1;
}
@@ -711,7 +711,7 @@ line_next_bigword(
size_t line, size_t byte, size_t char_index, int wrapped_line,
size_t *char_ret, size_t *byte_ret, size_t *real_byte_ret) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
size_t cur_byte = byte;
PangoLayout *layout = get_pango_layout(view, line);
const PangoLogAttr *attrs =
@@ -726,7 +726,7 @@ line_next_bigword(
*byte_ret = cur_byte;
return 0;
}
- cur_byte = ledit_line_next_utf8(ll, cur_byte);
+ cur_byte = line_next_utf8(ll, cur_byte);
}
return -1;
}
@@ -734,7 +734,7 @@ line_next_bigword(
size_t
view_line_next_non_whitespace(ledit_view *view, size_t line, size_t byte) {
int nattrs;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
size_t c = line_byte_to_char(ll, byte);
size_t cur_byte = byte;
PangoLayout *layout = get_pango_layout(view, line);
@@ -743,7 +743,7 @@ view_line_next_non_whitespace(ledit_view *view, size_t line, size_t byte) {
for (; c < (size_t)nattrs; c++) {
if (!attrs[c].is_white)
return cur_byte;
- cur_byte = ledit_line_next_utf8(ll, cur_byte);
+ cur_byte = line_next_utf8(ll, cur_byte);
}
return ll->len;
}
@@ -758,7 +758,7 @@ view_next_##name(
size_t *line_ret, size_t *byte_ret, size_t *real_byte_ret) { \
size_t cur_line = line; \
size_t cur_byte = byte; \
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line); \
+ ledit_line *ll = buffer_get_line(view->buffer, line); \
size_t cur_char = line_byte_to_char(ll, byte); \
size_t real_byte = 0; \
int last_ret = -1; \
@@ -777,7 +777,7 @@ view_next_##name(
} \
if (last_ret == -1) { \
*line_ret = view->lines_num - 1; \
- ledit_line *ll = ledit_buffer_get_line(view->buffer, view->lines_num - 1); \
+ ledit_line *ll = buffer_get_line(view->buffer, view->lines_num - 1); \
*byte_ret = view_get_legal_normal_pos(view, view->lines_num - 1, ll->len); \
*real_byte_ret = ll->len; \
} else { \
@@ -795,14 +795,14 @@ view_prev_##name(
size_t *line_ret, size_t *byte_ret, size_t *real_byte_ret) { \
size_t cur_line = line; \
size_t cur_byte = byte; \
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line); \
+ ledit_line *ll = buffer_get_line(view->buffer, line); \
size_t cur_char = line_byte_to_char(ll, byte); \
int last_ret = -1; \
for (int i = 0; i < num_repeat; i++) { \
while ((last_ret = func(view, cur_line, cur_byte, cur_char, \
&cur_char, &cur_byte)) == -1 && cur_line > 0) { \
cur_line--; \
- ll = ledit_buffer_get_line(view->buffer, cur_line); \
+ ll = buffer_get_line(view->buffer, cur_line); \
cur_byte = ll->len; \
} \
if (last_ret == -1 && cur_line == 0) \
@@ -831,7 +831,7 @@ view_get_pos_softline_bounds(
ledit_view *view, size_t line, size_t pos,
size_t *start_byte_ret, size_t *end_byte_ret) {
assert(line < view->lines_num);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
assert(pos <= ll->len);
PangoLayout *layout = get_pango_layout(view, line);
int x, sli;
@@ -868,7 +868,7 @@ view_get_softline_count(ledit_view *view, size_t line) {
int
view_pos_to_softline(ledit_view *view, size_t line, size_t pos) {
assert(line < view->lines_num);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
assert(pos <= ll->len);
PangoLayout *layout = get_pango_layout(view, line);
int x, sli;
@@ -881,7 +881,7 @@ view_pos_to_softline(ledit_view *view, size_t line, size_t pos) {
void
view_get_cursor_pixel_pos(ledit_view *view, size_t line, size_t pos, int *x_ret, int *y_ret, int *h_ret) {
assert(line < view->lines_num);
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
assert(pos <= ll->len);
PangoLayout *layout = get_pango_layout(view, line);
PangoRectangle strong, weak;
@@ -904,7 +904,7 @@ view_move_cursor_visually(ledit_view *view, size_t line, size_t pos, int movemen
err_overflow();
/* FIXME: trailing */
int trailing = 0;
- ledit_line *cur_line = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *cur_line = buffer_get_line(view->buffer, line);
PangoLayout *layout = get_pango_layout(view, line);
int tmp_index;
int new_index = (int)pos, last_index = (int)pos;
@@ -942,7 +942,7 @@ view_move_cursor_visually(ledit_view *view, size_t line, size_t pos, int movemen
/* FIXME: spaces at end of softlines are weird in normal mode */
while (trailing > 0) {
trailing--;
- new_index = ledit_line_next_utf8(cur_line, new_index);
+ new_index = line_next_utf8(cur_line, new_index);
}
if (new_index < 0)
new_index = 0;
@@ -965,7 +965,7 @@ ledit_line_word_boundaries(ledit_line *line, int byte, int *start_ret, int *end_
static void
set_pango_text_and_highlight(ledit_view *view, size_t line) {
cache_layout *cl;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
ledit_view_line *vl = view_get_line(view, line);
char old_valid = vl->cache_layout_valid;
if (!vl->cache_layout_valid) {
@@ -983,7 +983,7 @@ set_pango_text_and_highlight(ledit_view *view, size_t line) {
pango_layout_set_wrap(cl->layout, PANGO_WRAP_WORD_CHAR);
}
if (vl->text_dirty || !old_valid) {
- ledit_buffer_normalize_line(ll);
+ buffer_normalize_line(ll);
if (ll->len > INT_MAX)
err_overflow();
pango_layout_set_text(cl->layout, ll->text, (int)ll->len);
@@ -1064,10 +1064,10 @@ ledit_x_softline_to_pos(ledit_view *view, size_t line, int x, int softline, size
/* if in insert mode, snap to the nearest border between graphemes */
/* FIXME: add parameter for this instead of checking mode */
if (view->mode == INSERT) {
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
while (trailing > 0) {
trailing--;
- *pos_ret = ledit_line_next_utf8(ll, *pos_ret);
+ *pos_ret = line_next_utf8(ll, *pos_ret);
}
}
}
@@ -1076,7 +1076,7 @@ size_t
view_get_legal_normal_pos(ledit_view *view, size_t line, size_t pos) {
/* move back one grapheme if at end of line */
size_t ret = pos;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line);
+ ledit_line *ll = buffer_get_line(view->buffer, line);
if (pos == ll->len && pos > 0) {
int nattrs;
PangoLayout *layout = get_pango_layout(view, line);
@@ -1085,10 +1085,10 @@ view_get_legal_normal_pos(ledit_view *view, size_t line, size_t pos) {
if (nattrs < 2)
return 0;
size_t cur = nattrs - 2;
- ret = ledit_line_prev_utf8(ll, ret);
+ ret = line_prev_utf8(ll, ret);
while (ret > 0 && cur > 0 && !attrs[cur].is_cursor_position) {
cur--;
- ret = ledit_line_prev_utf8(ll, ret);
+ ret = line_prev_utf8(ll, ret);
}
}
return ret;
@@ -1113,7 +1113,7 @@ view_delete_range(
size_t min = line_index1 < line_index2 ? line_index1 : line_index2;
/* FIXME: a bit ugly to do this here */
for (size_t i = 0; i < view->buffer->views_num; i++) {
- ledit_buffer_recalc_all_views_from_line(
+ buffer_recalc_all_views_from_line(
view->buffer, min > 0 ? min - 1 : min
);
}
@@ -1149,7 +1149,7 @@ view_delete_range_base(
l2 = line_index1;
}
size_t dell1 = l1, dell2 = l2;
- ledit_line *ll = ledit_buffer_get_line(view->buffer, line_index1);
+ ledit_line *ll = buffer_get_line(view->buffer, line_index1);
ledit_pos_to_x_softline(view, line_index1, byte_index1, &x, &sl_useless);
if (l1 > 0 && l2 < view->lines_num - 1) {
rgl1 = l1;
@@ -1158,10 +1158,10 @@ view_delete_range_base(
rgb2 = 0;
} else if (l1 > 0) {
rgl1 = l1 - 1;
- ll = ledit_buffer_get_line(view->buffer, rgl1);
+ ll = buffer_get_line(view->buffer, rgl1);
rgb1 = ll->len;
rgl2 = l2;
- ll = ledit_buffer_get_line(view->buffer, rgl2);
+ ll = buffer_get_line(view->buffer, rgl2);
rgb2 = ll->len;
} else if (l2 < view->lines_num - 1) {
rgl1 = l1;
@@ -1172,11 +1172,11 @@ view_delete_range_base(
rgl1 = l1;
rgb1 = 0;
rgl2 = l2;
- ll = ledit_buffer_get_line(view->buffer, rgl2);
+ ll = buffer_get_line(view->buffer, rgl2);
rgb2 = ll->len;
}
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1, rgl2, rgb2
);
@@ -1200,17 +1200,17 @@ view_delete_range_base(
new_line = l1;
new_byte = 0;
/* happens when all lines are deleted, so one line has to be cleared */
- ll = ledit_buffer_get_line(view->buffer, l1);
- ledit_buffer_delete_line_section_base(
+ ll = buffer_get_line(view->buffer, l1);
+ buffer_delete_line_section_base(
view->buffer, l1, 0, ll->len
);
}
if (dell1 <= dell2) {
- ledit_buffer_delete_line_entries_base(view->buffer, dell1, dell2);
+ buffer_delete_line_entries_base(view->buffer, dell1, dell2);
}
} else if (delmode == DELETE_SOFTLINE) {
int x, softline1, softline2;
- ledit_line *line1 = ledit_buffer_get_line(view->buffer, line_index1);
+ ledit_line *line1 = buffer_get_line(view->buffer, line_index1);
ledit_view_line *vline1 = view_get_line(view, line_index1);
ledit_pos_to_x_softline(view, line_index1, byte_index1, &x, &softline1);
if (line_index1 == line_index2) {
@@ -1242,7 +1242,7 @@ view_delete_range_base(
/* note: logically, line_index1 - 1 must be >= 0 because
view->lines_num > 1 && line_index1 >= view->lines_num - 1 */
new_line = line_index1 - 1;
- ledit_line *prevline = ledit_buffer_get_line(view->buffer, new_line);
+ ledit_line *prevline = buffer_get_line(view->buffer, new_line);
ledit_view_line *vprevline = view_get_line(view, new_line);
if (vprevline->text_dirty)
set_pango_text_and_highlight(view, new_line);
@@ -1253,26 +1253,26 @@ view_delete_range_base(
rgb2 = line1->len;
}
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_entry_base(view->buffer, line_index1);
+ buffer_delete_line_entry_base(view->buffer, line_index1);
} else {
assert(pl2->start_index + pl2->length >= pl1->start_index);
rgl1 = rgl2 = line_index1;
rgb1 = (size_t)pl1->start_index;
rgb2 = (size_t)(pl2->start_index + pl2->length);
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_section_base(
+ buffer_delete_line_section_base(
view->buffer, line_index1, rgb1, rgb2 - rgb1
);
if (l2 == vline1->softlines - 1 && line_index1 < view->lines_num - 1) {
@@ -1319,8 +1319,8 @@ view_delete_range_base(
l2 = line_index1;
b2 = byte_index1;
}
- ledit_line *ll1 = ledit_buffer_get_line(view->buffer, l1);
- ledit_line *ll2 = ledit_buffer_get_line(view->buffer, l2);
+ ledit_line *ll1 = buffer_get_line(view->buffer, l1);
+ ledit_line *ll2 = buffer_get_line(view->buffer, l2);
ledit_view_line *vl1 = view_get_line(view, l1);
ledit_view_line *vl2 = view_get_line(view, l2);
PangoLayout *layout1 = get_pango_layout(view, l1);
@@ -1336,20 +1336,20 @@ view_delete_range_base(
rgb1 = 0;
rgb2 = ll2->len;
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_section_base(view->buffer, l1, 0, ll1->len);
- ledit_buffer_delete_line_entries_base(view->buffer, l1 + 1, l2);
+ buffer_delete_line_section_base(view->buffer, l1, 0, ll1->len);
+ buffer_delete_line_entries_base(view->buffer, l1 + 1, l2);
new_line = 0;
new_byte = 0;
} else {
if (l2 == view->lines_num - 1) {
new_line = l1 - 1;
- ledit_line *new_lline = ledit_buffer_get_line(view->buffer, new_line);
+ ledit_line *new_lline = buffer_get_line(view->buffer, new_line);
ledit_view_line *new_vline = view_get_line(view, new_line);
if (new_vline->text_dirty)
set_pango_text_and_highlight(view, new_line);
@@ -1369,13 +1369,13 @@ view_delete_range_base(
rgb2 = 0;
}
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_entries_base(view->buffer, l1, l2);
+ buffer_delete_line_entries_base(view->buffer, l1, l2);
}
} else if (sl1 == 0) {
rgl1 = l1;
@@ -1383,16 +1383,16 @@ view_delete_range_base(
rgl2 = l2;
rgb2 = (size_t)(pl2->start_index + pl2->length);
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_section_base(view->buffer, l2, 0, rgb2);
+ buffer_delete_line_section_base(view->buffer, l2, 0, rgb2);
new_line = l1;
ledit_x_softline_to_pos(view, l2, x, 0, &new_byte);
- ledit_buffer_delete_line_entries_base(view->buffer, l1, l2 - 1);
+ buffer_delete_line_entries_base(view->buffer, l1, l2 - 1);
} else if (sl2 == vl2->softlines - 1) {
rgl1 = l1;
rgb1 = (size_t)pl1->start_index;
@@ -1409,14 +1409,14 @@ view_delete_range_base(
);
}
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_section_base(view->buffer, l1, rgb1, ll1->len - rgb1);
- ledit_buffer_delete_line_entries_base(view->buffer, l1 + 1, l2);
+ buffer_delete_line_section_base(view->buffer, l1, rgb1, ll1->len - rgb1);
+ buffer_delete_line_entries_base(view->buffer, l1 + 1, l2);
} else {
/* FIXME: this could be made nicer by just using the range to
delete all in one go at the end */
@@ -1425,19 +1425,19 @@ view_delete_range_base(
rgl2 = l2;
rgb2 = (size_t)(pl2->start_index + pl2->length);
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_section_base(view->buffer, l1, rgb1, ll1->len - rgb1);
- ledit_buffer_insert_text_from_line_base(
+ buffer_delete_line_section_base(view->buffer, l1, rgb1, ll1->len - rgb1);
+ buffer_insert_text_from_line_base(
view->buffer,
l1, rgb1, l2, rgb2,
ll2->len - rgb2, NULL
);
- ledit_buffer_delete_line_entries_base(view->buffer, l1 + 1, l2);
+ buffer_delete_line_entries_base(view->buffer, l1 + 1, l2);
new_line = l1;
set_pango_text_and_highlight(view, l1);
/* it's technically possible that the remaining part of the
@@ -1462,13 +1462,13 @@ view_delete_range_base(
rgb2 = byte_index1;
}
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_buffer_delete_line_section_base(view->buffer, line_index1, rgb1, rgb2 - rgb1);
+ buffer_delete_line_section_base(view->buffer, line_index1, rgb1, rgb2 - rgb1);
new_line = line_index1;
new_byte = rgb1;
} else {
@@ -1484,21 +1484,21 @@ view_delete_range_base(
rgb2 = byte_index1;
}
if (text_ret) {
- ledit_buffer_copy_text_to_txtbuf(
+ buffer_copy_text_to_txtbuf(
view->buffer, text_ret,
rgl1, rgb1,
rgl2, rgb2
);
}
- ledit_line *line1 = ledit_buffer_get_line(view->buffer, rgl1);
- ledit_line *line2 = ledit_buffer_get_line(view->buffer, rgl2);
- ledit_buffer_delete_line_section_base(view->buffer, rgl1, rgb1, line1->len - rgb1);
- ledit_buffer_insert_text_from_line_base(
+ ledit_line *line1 = buffer_get_line(view->buffer, rgl1);
+ ledit_line *line2 = buffer_get_line(view->buffer, rgl2);
+ buffer_delete_line_section_base(view->buffer, rgl1, rgb1, line1->len - rgb1);
+ buffer_insert_text_from_line_base(
view->buffer, rgl1, rgb1, rgl2, rgb2, line2->len - rgb2, NULL
);
new_line = rgl1;
new_byte = rgb1;
- ledit_buffer_delete_line_entries_base(view->buffer, rgl1 + 1, rgl2);
+ buffer_delete_line_entries_base(view->buffer, rgl1 + 1, rgl2);
}
/* FIXME: too much magic - maybe don't include this here */
if (view->mode == NORMAL)
@@ -1522,7 +1522,7 @@ view_resize_textview(void *data) {
ledit_view *view = (ledit_view *)data;
view->total_height = 0;
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
for (size_t i = 0; i < view->lines_num; i++) {
ledit_view_line *line = view_get_line(view, i);
line->w = text_w;
@@ -1533,7 +1533,7 @@ view_resize_textview(void *data) {
line->h_dirty = 0;
view->total_height += line->h;
}
- ledit_window_set_scroll_max(view->window, view->total_height);
+ window_set_scroll_max(view->window, view->total_height);
if (view->display_offset > 0 &&
view->display_offset + text_h > view->total_height) {
view_scroll(view, view->total_height - text_h);
@@ -1543,13 +1543,13 @@ view_resize_textview(void *data) {
void
view_scroll(ledit_view *view, long new_offset) {
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
if (new_offset + text_h > view->total_height)
new_offset = view->total_height - text_h;
if (new_offset < 0)
new_offset = 0;
view->display_offset = new_offset;
- ledit_window_set_scroll_pos(view->window, view->display_offset);
+ window_set_scroll_pos(view->window, view->display_offset);
}
/* FIXME: there's gotta be a better/more efficient way to do this... */
@@ -1563,7 +1563,7 @@ view_get_nearest_legal_pos(
PangoRectangle strong, weak;
int text_w, text_h;
int x, sl_useless;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
ledit_view_line *vline = view_get_line(view, line);
PangoLayout *layout = get_pango_layout(view, line);
if (byte > INT_MAX)
@@ -1669,10 +1669,10 @@ ledit_xy_to_line_byte(ledit_view *view, int x, int y, int snap_to_nearest, size_
);
*byte_ret = (size_t)index;
if (snap_to_nearest) {
- ledit_line *ll = ledit_buffer_get_line(view->buffer, i);
+ ledit_line *ll = buffer_get_line(view->buffer, i);
while (trailing > 0) {
trailing--;
- *byte_ret = ledit_line_next_utf8(ll, *byte_ret);
+ *byte_ret = line_next_utf8(ll, *byte_ret);
}
}
*line_ret = i;
@@ -1686,7 +1686,7 @@ static void
scroll_to_pos(ledit_view *view, size_t line, size_t byte, int top) {
PangoRectangle strong, weak;
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
ledit_view_line *vl = view_get_line(view, line);
PangoLayout *layout = get_pango_layout(view, line);
if (byte > INT_MAX)
@@ -1714,7 +1714,7 @@ void
view_ensure_cursor_shown(ledit_view *view) {
PangoRectangle strong, weak;
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
ledit_view_line *vline = view_get_line(view, view->cur_line);
PangoLayout *layout = get_pango_layout(view, view->cur_line);
if (view->cur_index > INT_MAX)
@@ -1755,8 +1755,8 @@ view_sort_selection(size_t *line1, size_t *byte1, size_t *line2, size_t *byte2)
static void
copy_selection_to_x_primary(ledit_view *view, size_t line1, size_t byte1, size_t line2, size_t byte2) {
/* FIXME: let window handle this */
- txtbuf *primary = ledit_window_get_primary_clipboard_buffer();
- ledit_buffer_copy_text_to_txtbuf(view->buffer, primary, line1, byte1, line2, byte2);
+ txtbuf *primary = window_get_primary_clipboard_buffer();
+ buffer_copy_text_to_txtbuf(view->buffer, primary, line1, byte1, line2, byte2);
XSetSelectionOwner(view->buffer->common->dpy, XA_PRIMARY, view->window->xwin, CurrentTime);
/*
FIXME
@@ -1889,7 +1889,8 @@ view_redraw_text(ledit_view *view) {
int cur_line_y = 0;
int cursor_displayed = 0;
int text_w, text_h;
- ledit_window_get_textview_size(view->window, &text_w, &text_h);
+ window_get_textview_size(view->window, &text_w, &text_h);
+ /* FIXME: use binary search here */
for (size_t i = 0; i < view->lines_num; i++) {
ledit_view_line *vline = view_get_line(view, i);
if (h + vline->h > view->display_offset) {
@@ -1931,7 +1932,7 @@ view_redraw_text(ledit_view *view) {
XSetForeground(view->buffer->common->dpy, view->window->gc, view->theme->text_fg.pixel);
PangoRectangle strong, weak;
- ledit_line *cur_line = ledit_buffer_get_line(view->buffer, view->cur_line);
+ ledit_line *cur_line = buffer_get_line(view->buffer, view->cur_line);
PangoLayout *layout = get_pango_layout(view, view->cur_line);
pango_layout_get_cursor_pos(
layout, (int)view->cur_index, &strong, &weak
@@ -1999,16 +2000,16 @@ view_redraw_text(ledit_view *view) {
void
view_redraw(ledit_view *view) {
if (view->redraw || view->window->redraw) {
- ledit_window_clear(view->window);
+ window_clear(view->window);
view_redraw_text(view);
- ledit_window_redraw(view->window);
+ window_redraw(view->window);
}
}
static void
undo_insert_helper(void *data, size_t line, size_t byte, char *text, size_t text_len) {
ledit_view *view = (ledit_view *)data;
- ledit_buffer_insert_text_with_newlines_base(view->buffer, line, byte, text, text_len, NULL, NULL);
+ buffer_insert_text_with_newlines_base(view->buffer, line, byte, text, text_len, NULL, NULL);
}
static void
@@ -2033,7 +2034,7 @@ view_undo(ledit_view *view) {
view_wipe_line_cursor_attrs(view, old_line);
view_set_line_cursor_attrs(view, view->cur_line, view->cur_index);
if (min_line < view->lines_num) {
- ledit_buffer_recalc_all_views_from_line(
+ buffer_recalc_all_views_from_line(
view->buffer, min_line > 0 ? min_line - 1 : min_line
);
}
@@ -2056,7 +2057,7 @@ view_redo(ledit_view *view) {
view_wipe_line_cursor_attrs(view, old_line);
view_set_line_cursor_attrs(view, view->cur_line, view->cur_index);
if (min_line < view->lines_num) {
- ledit_buffer_recalc_all_views_from_line(
+ buffer_recalc_all_views_from_line(
view->buffer, min_line > 0 ? min_line - 1 : min_line
);
}
@@ -2070,13 +2071,13 @@ paste_callback(void *data, char *text, size_t len) {
ledit_range cur_range, ins_range;
cur_range.line1 = ins_range.line1 = view->cur_line;
cur_range.byte1 = ins_range.byte1 = view->cur_index;
- ledit_buffer_insert_text_with_newlines(
+ buffer_insert_text_with_newlines(
view->buffer, view->cur_line, view->cur_index,
text, len, &view->cur_line, &view->cur_index
);
cur_range.line2 = ins_range.line2 = view->cur_line;
cur_range.byte2 = ins_range.byte2 = view->cur_index;
- ledit_push_undo_insert(
+ undo_push_insert(
view->buffer->undo, &ins_buf, ins_range, cur_range, 1, view->mode
);
}
@@ -2085,12 +2086,12 @@ paste_callback(void *data, char *text, size_t len) {
void
view_paste_clipboard(ledit_view *view) {
- ledit_window_set_paste_callback(view->window, &paste_callback, view);
+ window_set_paste_callback(view->window, &paste_callback, view);
clipboard_paste_clipboard(view->window);
}
void
view_paste_primary(ledit_view *view) {
- ledit_window_set_paste_callback(view->window, &paste_callback, view);
+ window_set_paste_callback(view->window, &paste_callback, view);
clipboard_paste_primary(view->window);
}
diff --git a/window.c b/window.c
@@ -57,7 +57,7 @@ static void clipboard_selnotify(ledit_window *window, XEvent *e);
static void clipboard_selrequest(ledit_window *window, XEvent *e);
txtbuf *
-ledit_window_get_primary_clipboard_buffer(void) {
+window_get_primary_clipboard_buffer(void) {
/* FIXME: check if NULL */
return xsel.primary;
}
@@ -76,7 +76,7 @@ recalc_text_size(ledit_window *window) {
/* FIXME: allow lines longer than window width to be displayed properly */
void
-ledit_window_insert_bottom_bar_text(ledit_window *window, char *text, int len) {
+window_insert_bottom_bar_text(ledit_window *window, char *text, int len) {
assert(len >= -1);
assert(window->bb->line_cur_pos <= window->bb->line_len);
@@ -101,7 +101,7 @@ ledit_window_insert_bottom_bar_text(ledit_window *window, char *text, int len) {
window->bb->line_text[window->bb->line_len] = '\0';
pango_layout_set_text(window->bb->line, window->bb->line_text, window->bb->line_len);
pango_layout_get_pixel_size(window->bb->line, &window->bb->line_w, &window->bb->line_h);
- ledit_draw_grow(window, window->bb->line_draw, window->bb->line_w, window->bb->line_h);
+ draw_grow(window, window->bb->line_draw, window->bb->line_w, window->bb->line_h);
XftDrawRect(window->bb->line_draw->xftdraw, &window->theme->text_bg, 0, 0, window->bb->line_w, window->bb->line_h);
pango_xft_render_layout(window->bb->line_draw->xftdraw, &window->theme->text_fg, window->bb->line, 0, 0);
recalc_text_size(window);
@@ -109,7 +109,7 @@ ledit_window_insert_bottom_bar_text(ledit_window *window, char *text, int len) {
}
void
-ledit_window_move_bottom_bar_cursor(ledit_window *window, int movement) {
+window_move_bottom_bar_cursor(ledit_window *window, int movement) {
assert(window->bb->line_cur_pos <= window->bb->line_len);
int trailing = 0;
int new_index = window->bb->line_cur_pos;
@@ -135,25 +135,25 @@ ledit_window_move_bottom_bar_cursor(ledit_window *window, int movement) {
}
void
-ledit_window_set_bottom_bar_min_pos(ledit_window *window, int pos) {
+window_set_bottom_bar_min_pos(ledit_window *window, int pos) {
window->bb->min_pos = pos;
}
void
-ledit_window_bottom_bar_cursor_to_beginning(ledit_window *window) {
+window_bottom_bar_cursor_to_beginning(ledit_window *window) {
window->bb->line_cur_pos = window->bb->min_pos;
window->redraw = 1;
}
void
-ledit_window_bottom_bar_cursor_to_end(ledit_window *window) {
+window_bottom_bar_cursor_to_end(ledit_window *window) {
window->bb->line_cur_pos = window->bb->line_len;
window->redraw = 1;
}
/* FIXME: respect PangoLogAttr.backspace_deletes_character */
void
-ledit_window_delete_bottom_bar_char(ledit_window *window, int dir) {
+window_delete_bottom_bar_char(ledit_window *window, int dir) {
int byte = window->bb->line_cur_pos;
if (dir < 0) {
byte--;
@@ -189,7 +189,7 @@ ledit_window_delete_bottom_bar_char(ledit_window *window, int dir) {
window->bb->line_text[window->bb->line_len] = '\0';
pango_layout_set_text(window->bb->line, window->bb->line_text, window->bb->line_len);
pango_layout_get_pixel_size(window->bb->line, &window->bb->line_w, &window->bb->line_h);
- ledit_draw_grow(window, window->bb->line_draw, window->bb->line_w, window->bb->line_h);
+ draw_grow(window, window->bb->line_draw, window->bb->line_w, window->bb->line_h);
XftDrawRect(window->bb->line_draw->xftdraw, &window->theme->text_bg, 0, 0, window->bb->line_w, window->bb->line_h);
pango_xft_render_layout(window->bb->line_draw->xftdraw, &window->theme->text_fg, window->bb->line, 0, 0);
recalc_text_size(window);
@@ -197,7 +197,7 @@ ledit_window_delete_bottom_bar_char(ledit_window *window, int dir) {
}
void
-ledit_window_set_bottom_bar_cursor(ledit_window *window, int byte_pos) {
+window_set_bottom_bar_cursor(ledit_window *window, int byte_pos) {
/* FIXME: check if valid? */
window->bb->line_cur_pos = byte_pos;
window->redraw = 1;
@@ -209,7 +209,7 @@ ledit_window_get_bottom_bar_cursor(ledit_window *window) {
}
void
-ledit_window_set_bottom_bar_text_shown(ledit_window *window, int shown) {
+window_set_bottom_bar_text_shown(ledit_window *window, int shown) {
window->bottom_text_shown = shown;
window->redraw = 1;
}
@@ -221,21 +221,21 @@ ledit_window_bottom_bar_text_shown(ledit_window *window) {
}
void
-ledit_window_set_bottom_bar_text(ledit_window *window, char *text, int len) {
+window_set_bottom_bar_text(ledit_window *window, char *text, int len) {
window->bb->line_len = 0;
window->bb->line_cur_pos = 0;
- ledit_window_insert_bottom_bar_text(window, text, len);
+ window_insert_bottom_bar_text(window, text, len);
window->redraw = 1;
}
char *
-ledit_window_get_bottom_bar_text(ledit_window *window) {
+window_get_bottom_bar_text(ledit_window *window) {
return window->bb->line_text;
}
void
-ledit_window_show_message(ledit_window *window, char *text, int len) {
- ledit_window_set_bottom_bar_text(window, text, len);
+window_show_message(ledit_window *window, char *text, int len) {
+ window_set_bottom_bar_text(window, text, len);
/* FIXME: rename these */
window->bottom_text_shown = 0;
window->message_shown = 1;
@@ -243,18 +243,18 @@ ledit_window_show_message(ledit_window *window, char *text, int len) {
}
int
-ledit_window_message_shown(ledit_window *window) {
+window_message_shown(ledit_window *window) {
return window->message_shown;
}
void
-ledit_window_hide_message(ledit_window *window) {
+window_hide_message(ledit_window *window) {
window->message_shown = 0;
window->redraw = 1;
}
void
-ledit_window_set_mode(ledit_window *window, enum ledit_mode mode) {
+window_set_mode(ledit_window *window, enum ledit_mode mode) {
window->mode = mode;
char *text;
switch (mode) {
@@ -275,7 +275,7 @@ ledit_window_set_mode(ledit_window *window, enum ledit_mode mode) {
pango_layout_set_text(window->bb->mode, final_text, -1);
free(final_text);
pango_layout_get_pixel_size(window->bb->mode, &window->bb->mode_w, &window->bb->mode_h);
- ledit_draw_grow(window, window->bb->mode_draw, window->bb->mode_w, window->bb->mode_h);
+ draw_grow(window, window->bb->mode_draw, window->bb->mode_w, window->bb->mode_h);
XftDrawRect(window->bb->mode_draw->xftdraw, &window->theme->text_bg, 0, 0, window->bb->mode_w, window->bb->mode_h);
pango_xft_render_layout(window->bb->mode_draw->xftdraw, &window->theme->text_fg, window->bb->mode, 0, 0);
recalc_text_size(window);
@@ -283,9 +283,9 @@ ledit_window_set_mode(ledit_window *window, enum ledit_mode mode) {
}
void
-ledit_window_set_mode_extra_text(ledit_window *window, char *text) {
+window_set_mode_extra_text(ledit_window *window, char *text) {
window->mode_extra_text = ledit_strdup(text);
- ledit_window_set_mode(window, window->mode);
+ window_set_mode(window, window->mode);
window->redraw = 1;
}
@@ -311,37 +311,37 @@ set_scroll_pos(ledit_window *window, double pos) {
}
void
-ledit_window_set_scroll_max(ledit_window *window, long max) {
+window_set_scroll_max(ledit_window *window, long max) {
window->scroll_max = max;
window->redraw = 1;
}
void
-ledit_window_set_scroll_pos(ledit_window *window, long pos) {
+window_set_scroll_pos(ledit_window *window, long pos) {
window->scroll_offset = pos;
window->redraw = 1;
}
void
-ledit_window_set_scroll_callback(ledit_window *window, void (*cb)(void *, long), void *data) {
+window_set_scroll_callback(ledit_window *window, void (*cb)(void *, long), void *data) {
window->scroll_callback = cb;
window->scroll_cb_data = data;
}
void
-ledit_window_set_paste_callback(ledit_window *window, void (*cb)(void *, char *, size_t), void *data) {
+window_set_paste_callback(ledit_window *window, void (*cb)(void *, char *, size_t), void *data) {
window->paste_callback = cb;
window->paste_cb_data = data;
}
void
-ledit_window_set_button_callback(ledit_window *window, void (*cb)(void *, XEvent *), void *data) {
+window_set_button_callback(ledit_window *window, void (*cb)(void *, XEvent *), void *data) {
window->button_callback = cb;
window->button_cb_data = data;
}
void
-ledit_window_set_resize_callback(ledit_window *window, void (*cb)(void *), void *data) {
+window_set_resize_callback(ledit_window *window, void (*cb)(void *), void *data) {
window->resize_callback = cb;
window->resize_cb_data = data;
}
@@ -433,7 +433,7 @@ xximspot(ledit_window *window, int x, int y) {
}
ledit_window *
-ledit_window_create(ledit_common *common, ledit_theme *theme, enum ledit_mode mode) {
+window_create(ledit_common *common, ledit_theme *theme, enum ledit_mode mode) {
XSetWindowAttributes attrs;
XGCValues gcv;
@@ -500,10 +500,10 @@ ledit_window_create(ledit_common *common, ledit_theme *theme, enum ledit_mode mo
window->bb->mode = pango_layout_new(window->context);
pango_layout_set_font_description(window->bb->mode, window->font);
/* FIXME: only create "dummy draw" at first and create with proper size when needed */
- window->bb->mode_draw = ledit_draw_create(window, 10, 10);
+ window->bb->mode_draw = draw_create(window, 10, 10);
window->bb->line = pango_layout_new(window->context);
pango_layout_set_font_description(window->bb->line, window->font);
- window->bb->line_draw = ledit_draw_create(window, 10, 10);
+ window->bb->line_draw = draw_create(window, 10, 10);
window->bb->line_w = window->bb->line_h = 10;
window->bb->line_text = NULL;
window->bb->line_alloc = window->bb->line_len = 0;
@@ -554,13 +554,13 @@ ledit_window_create(ledit_common *common, ledit_theme *theme, enum ledit_mode mo
}
void
-ledit_window_destroy(ledit_window *window) {
+window_destroy(ledit_window *window) {
/* FIXME: check what's still missing */
g_object_unref(window->bb->mode);
/*g_object_unref(window->bb->ruler);*/ /* FIXME: implement ruler */
g_object_unref(window->bb->line);
- ledit_draw_destroy(window, window->bb->mode_draw);
- ledit_draw_destroy(window, window->bb->line_draw);
+ draw_destroy(window, window->bb->mode_draw);
+ draw_destroy(window, window->bb->line_draw);
pango_font_description_free(window->font);
/* FIXME: The pango documentation says that the context must be freed,
@@ -581,13 +581,13 @@ ledit_window_destroy(ledit_window *window) {
}
void
-ledit_window_cleanup(void) {
+window_cleanup(void) {
txtbuf_destroy(xsel.primary);
free(xsel.clipboard);
}
void
-ledit_window_clear(ledit_window *window) {
+window_clear(ledit_window *window) {
XSetForeground(window->common->dpy, window->gc, window->theme->text_bg.pixel);
XFillRectangle(
window->common->dpy, window->back_buf, window->gc, 0, 0, window->w, window->h
@@ -595,7 +595,7 @@ ledit_window_clear(ledit_window *window) {
}
void
-ledit_window_redraw(ledit_window *window) {
+window_redraw(ledit_window *window) {
ledit_theme *t = window->theme;
if (window->scroll_max > window->text_h) {
XSetForeground(window->common->dpy, window->gc, t->scrollbar_bg.pixel);
@@ -680,19 +680,19 @@ ledit_window_redraw(ledit_window *window) {
}
void
-ledit_window_get_textview_size(ledit_window *window, int *w_ret, int *h_ret) {
+window_get_textview_size(ledit_window *window, int *w_ret, int *h_ret) {
*w_ret = window->text_w;
*h_ret = window->text_h;
}
void
-ledit_window_handle_filtered_events(ledit_window *window) {
+window_handle_filtered_events(ledit_window *window) {
struct timespec now, elapsed;
if (window->last_motion_valid) {
clock_gettime(CLOCK_MONOTONIC, &now);
ledit_timespecsub(&now, &window->last_motion, &elapsed);
if (elapsed.tv_sec > 0 || elapsed.tv_nsec >= MOUSE_TICK) {
- ledit_window_drag_motion(window, &window->last_motion_event);
+ window_drag_motion(window, &window->last_motion_event);
window->last_motion = now;
window->last_motion_valid = 0;
}
@@ -701,7 +701,7 @@ ledit_window_handle_filtered_events(ledit_window *window) {
clock_gettime(CLOCK_MONOTONIC, &now);
ledit_timespecsub(&now, &window->last_scroll, &elapsed);
if (elapsed.tv_sec > 0 || elapsed.tv_nsec >= MOUSE_TICK) {
- ledit_window_button_press(window, &window->last_scroll_event, window->scroll_num);
+ window_button_press(window, &window->last_scroll_event, window->scroll_num);
window->last_scroll = now;
window->last_scroll_valid = 0;
}
@@ -710,7 +710,7 @@ ledit_window_handle_filtered_events(ledit_window *window) {
clock_gettime(CLOCK_MONOTONIC, &now);
ledit_timespecsub(&now, &window->last_resize, &elapsed);
if (elapsed.tv_sec > 0 || elapsed.tv_nsec >= RESIZE_TICK) {
- ledit_window_resize(
+ window_resize(
window,
window->last_resize_event.xconfigure.width,
window->last_resize_event.xconfigure.height
@@ -723,7 +723,7 @@ ledit_window_handle_filtered_events(ledit_window *window) {
}
void
-ledit_window_resize(ledit_window *window, int w, int h) {
+window_resize(ledit_window *window, int w, int h) {
window->w = w;
window->h = h;
recalc_text_size(window);
@@ -908,7 +908,7 @@ clipboard_selrequest(ledit_window *window, XEvent *e)
}
void
-ledit_window_register_button_press(ledit_window *window, XEvent *event) {
+window_register_button_press(ledit_window *window, XEvent *event) {
int scroll_delta;
if (event->xbutton.button == Button4 ||
event->xbutton.button == Button5) {
@@ -921,25 +921,25 @@ ledit_window_register_button_press(ledit_window *window, XEvent *event) {
window->scroll_num = scroll_delta;
}
} else {
- ledit_window_button_press(window, event, 0);
+ window_button_press(window, event, 0);
}
}
void
-ledit_window_register_resize(ledit_window *window, XEvent *event) {
+window_register_resize(ledit_window *window, XEvent *event) {
window->last_resize_event = *event;
window->last_resize_valid = 1;
}
void
-ledit_window_register_motion(ledit_window *window, XEvent *event) {
+window_register_motion(ledit_window *window, XEvent *event) {
window->last_motion_event = *event;
window->last_motion_valid = 1;
}
/* FIXME: improve set_scroll_pos; make it a bit clearer */
void
-ledit_window_button_press(ledit_window *window, XEvent *event, int scroll_num) {
+window_button_press(ledit_window *window, XEvent *event, int scroll_num) {
int x, y;
double scroll_h, scroll_y;
switch (event->xbutton.button) {
@@ -976,7 +976,7 @@ ledit_window_button_press(ledit_window *window, XEvent *event, int scroll_num) {
}
void
-ledit_window_button_release(ledit_window *window, XEvent *event) {
+window_button_release(ledit_window *window, XEvent *event) {
if (event->xbutton.button == Button1) {
window->scroll_dragging = 0;
if (window->button_callback)
@@ -986,7 +986,7 @@ ledit_window_button_release(ledit_window *window, XEvent *event) {
}
void
-ledit_window_drag_motion(ledit_window *window, XEvent *event) {
+window_drag_motion(ledit_window *window, XEvent *event) {
if (window->scroll_dragging) {
double scroll_h, scroll_y;
get_scroll_pos_height(window, &scroll_y, &scroll_h);
@@ -1002,7 +1002,7 @@ ledit_window_drag_motion(ledit_window *window, XEvent *event) {
}
void
-ledit_window_clipboard_event(ledit_window *window, XEvent *event) {
+window_clipboard_event(ledit_window *window, XEvent *event) {
/* FIXME: paste in bottom bar */
switch (event->type) {
case SelectionNotify:
diff --git a/window.h b/window.h
@@ -59,53 +59,53 @@ typedef struct {
char *mode_extra_text;
} ledit_window;
-ledit_window *ledit_window_create(ledit_common *common, ledit_theme *theme, enum ledit_mode mode);
-void ledit_window_destroy(ledit_window *window);
-void ledit_window_cleanup(void);
+ledit_window *window_create(ledit_common *common, ledit_theme *theme, enum ledit_mode mode);
+void window_destroy(ledit_window *window);
+void window_cleanup(void);
/* FIXME: this is a bit confusing because there's a difference between editable
text shown and non-editable message shown */
-void ledit_window_move_bottom_bar_cursor(ledit_window *window, int movement);
-void ledit_window_delete_bottom_bar_char(ledit_window *window, int dir);
-void ledit_window_bottom_bar_cursor_to_beginning(ledit_window *window);
-void ledit_window_bottom_bar_cursor_to_end(ledit_window *window);
-void ledit_window_set_bottom_bar_min_pos(ledit_window *window, int pos);
-void ledit_window_set_bottom_bar_text_shown(ledit_window *window, int shown);
+void window_move_bottom_bar_cursor(ledit_window *window, int movement);
+void window_delete_bottom_bar_char(ledit_window *window, int dir);
+void window_bottom_bar_cursor_to_beginning(ledit_window *window);
+void window_bottom_bar_cursor_to_end(ledit_window *window);
+void window_set_bottom_bar_min_pos(ledit_window *window, int pos);
+void window_set_bottom_bar_text_shown(ledit_window *window, int shown);
int ledit_window_bottom_bar_text_shown(ledit_window *window);
-void ledit_window_set_bottom_bar_cursor(ledit_window *window, int byte_pos);
+void window_set_bottom_bar_cursor(ledit_window *window, int byte_pos);
int ledit_window_get_bottom_bar_cursor(ledit_window *window);
-void ledit_window_insert_bottom_bar_text(ledit_window *window, char *text, int len);
-void ledit_window_set_bottom_bar_text(ledit_window *window, char *text, int len);
-char *ledit_window_get_bottom_bar_text(ledit_window *window);
-void ledit_window_show_message(ledit_window *window, char *text, int len);
-void ledit_window_hide_message(ledit_window *window);
-int ledit_window_message_shown(ledit_window *window);
-void ledit_window_set_mode(ledit_window *window, enum ledit_mode mode);
-void ledit_window_set_mode_extra_text(ledit_window *window, char *text);
+void window_insert_bottom_bar_text(ledit_window *window, char *text, int len);
+void window_set_bottom_bar_text(ledit_window *window, char *text, int len);
+char *window_get_bottom_bar_text(ledit_window *window);
+void window_show_message(ledit_window *window, char *text, int len);
+void window_hide_message(ledit_window *window);
+int window_message_shown(ledit_window *window);
+void window_set_mode(ledit_window *window, enum ledit_mode mode);
+void window_set_mode_extra_text(ledit_window *window, char *text);
-void ledit_window_set_scroll_max(ledit_window *window, long max);
-void ledit_window_set_scroll_pos(ledit_window *window, long pos);
-void ledit_window_set_scroll_callback(ledit_window *window, void (*cb)(void *, long), void *data);
-void ledit_window_set_paste_callback(ledit_window *window, void (*cb)(void *, char *, size_t), void *data);
-void ledit_window_set_button_callback(ledit_window *window, void (*cb)(void *, XEvent *), void *data);
-void ledit_window_set_resize_callback(ledit_window *window, void (*cb)(void *), void *data);
-void ledit_window_register_resize(ledit_window *window, XEvent *event);
-void ledit_window_register_button_press(ledit_window *window, XEvent *event);
-void ledit_window_register_motion(ledit_window *window, XEvent *event);
-void ledit_window_handle_filtered_events(ledit_window *window);
+void window_set_scroll_max(ledit_window *window, long max);
+void window_set_scroll_pos(ledit_window *window, long pos);
+void window_set_scroll_callback(ledit_window *window, void (*cb)(void *, long), void *data);
+void window_set_paste_callback(ledit_window *window, void (*cb)(void *, char *, size_t), void *data);
+void window_set_button_callback(ledit_window *window, void (*cb)(void *, XEvent *), void *data);
+void window_set_resize_callback(ledit_window *window, void (*cb)(void *), void *data);
+void window_register_resize(ledit_window *window, XEvent *event);
+void window_register_button_press(ledit_window *window, XEvent *event);
+void window_register_motion(ledit_window *window, XEvent *event);
+void window_handle_filtered_events(ledit_window *window);
-void ledit_window_clear(ledit_window *window);
-void ledit_window_redraw(ledit_window *window);
-void ledit_window_resize(ledit_window *window, int w, int h);
-void ledit_window_get_textview_size(ledit_window *window, int *w_ret, int *h_ret);
+void window_clear(ledit_window *window);
+void window_redraw(ledit_window *window);
+void window_resize(ledit_window *window, int w, int h);
+void window_get_textview_size(ledit_window *window, int *w_ret, int *h_ret);
void clipboard_primary_to_clipboard(ledit_window *window);
void clipboard_paste_clipboard(ledit_window *window);
void clipboard_paste_primary(ledit_window *window);
-txtbuf *ledit_window_get_primary_clipboard_buffer(void);
+txtbuf *window_get_primary_clipboard_buffer(void);
-void ledit_window_button_press(ledit_window *window, XEvent *event, int scroll_num);
-void ledit_window_button_release(ledit_window *window, XEvent *event);
-void ledit_window_drag_motion(ledit_window *window, XEvent *event);
-void ledit_window_clipboard_event(ledit_window *window, XEvent *event);
+void window_button_press(ledit_window *window, XEvent *event, int scroll_num);
+void window_button_release(ledit_window *window, XEvent *event);
+void window_drag_motion(ledit_window *window, XEvent *event);
+void window_clipboard_event(ledit_window *window, XEvent *event);
void xximspot(ledit_window *window, int x, int y);