aboutsummaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/init.lua b/init.lua
index fd8c0b4..498887d 100644
--- a/init.lua
+++ b/init.lua
@@ -566,9 +566,14 @@ local function file_lineno_to_viewport_lineno(win, file_lineno)
local view_lineno = 0
for n = win.viewport.lines.start, file_lineno do
view_lineno = view_lineno + 1
- -- Wrapped line this shifts our displayed line down
- if #win.file.lines[n] > win.viewport.width then
- view_lineno = view_lineno + math.floor(#win.file.lines[n] / win.viewport.width)
+ -- Wrapped lines shift our displayed line down
+ local line_len = #win.file.lines[n]
+ if not win.options.expandtab then
+ line_len = util.visual_chars_in_line(win, win.file.lines[n], line_len)
+ end
+
+ if line_len >= win.viewport.width then
+ view_lineno = view_lineno + math.floor(line_len / win.viewport.width)
end
end
return view_lineno