From 8722f48831c385245f5f78462159d2785a2d4323 Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Sun, 10 Nov 2024 23:11:36 +0100 Subject: Render tabs using the correct tab width Previously, the code assumed 4. --- src/dged/buffer_view.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/dged/buffer_view.c') diff --git a/src/dged/buffer_view.c b/src/dged/buffer_view.c index 0c587a6..29ce307 100644 --- a/src/dged/buffer_view.c +++ b/src/dged/buffer_view.c @@ -3,6 +3,7 @@ #include "buffer.h" #include "buffer_view.h" #include "display.h" +#include "settings.h" #include "timers.h" #include "utf8.h" @@ -458,9 +459,20 @@ void buffer_view_update(struct buffer_view *view, // render buffer struct timer *render_buffer_timer = timer_start("update-windows.buffer-render"); + + struct setting *tw = lang_setting(&view->buffer->lang, "tab-width"); + if (tw == NULL) { + tw = settings_get("editor.tab-width"); + } + + uint32_t tab_width = 4; + if (tw != NULL && tw->value.type == Setting_Number) { + tab_width = tw->value.data.number_value; + } + struct command_list *buf_cmds = command_list_create( width * height, params->frame_alloc, params->window_x + linum_width, - params->window_y, view->buffer->name); + params->window_y, tab_width, view->buffer->name); struct buffer_render_params render_params = { .commands = buf_cmds, .origin = view->scroll, -- cgit v1.2.3