feat(canola): make filename column position configurable #70

Open
opened 2026-09-21 18:55:06 +00:00 by barrettruth · 1 comment
Owner

Original issue: barrettruth/canola.nvim#342
Original author: kaktu5
Original date: 2026-05-03T20:35:58Z

Prerequisites

  • I have searched existing issues
  • This request targets the canola branch
  • I understand canola is the active non-backwards-compatible track

Problem

Currently, the filename column is always displayed as the rightmost column, and there's no way to change its position through the columns table. Since the filename is usually the most important column, its position should be configurable.

Proposed solution

Allow filename to be specified in the columns table.

columns = {
  "icon",
  "filename",
  "size",
  "mtime",
},

Alternatives considered

No response

> Original issue: barrettruth/canola.nvim#342 > Original author: `kaktu5` > Original date: 2026-05-03T20:35:58Z ### Prerequisites - [x] I have searched [existing issues](https://github.com/barrettruth/canola.nvim/issues) - [x] This request targets the `canola` branch - [x] I understand `canola` is the active non-backwards-compatible track ### Problem Currently, the filename column is always displayed as the rightmost column, and there's no way to change its position through the `columns` table. Since the filename is usually the most important column, its position should be configurable. ### Proposed solution Allow filename to be specified in the `columns` table. ```lua columns = { "icon", "filename", "size", "mtime", }, ``` ### Alternatives considered _No response_
Author
Owner

Original comment: barrettruth/canola.nvim#342, comment 4367411560
Original author: barrettruth
Original date: 2026-05-03T23:11:16Z

After digging through the current canola branch implementation, this is blocked on #333.

Right now filename is not actually a column. Buffer lines are still shaped as /<id> <padding><filename>, and configured columns are rendered as virtual text overlaid on top of the padding before the filename.

Basically, supporting:

columns = { "icon", "filename", "size", "mtime" }

would require a massive refactor (which I plan to do) inherited from oil.nvim - this is why this feature was never available in oil.nvim either.

So I'll need to solve #333 first then implement this afterward - going to take me a while :/

> Original comment: barrettruth/canola.nvim#342, comment 4367411560 > Original author: `barrettruth` > Original date: 2026-05-03T23:11:16Z After digging through the current canola branch implementation, this is blocked on #333. Right now `filename` is not actually a column. Buffer lines are still shaped as `/<id> <padding><filename>`, and configured columns are rendered as virtual text overlaid on top of the padding before the filename. Basically, supporting: ```lua columns = { "icon", "filename", "size", "mtime" } ``` would require a massive refactor (which I plan to do) inherited from oil.nvim - this is why this feature was never available in oil.nvim either. So I'll need to solve #333 first then implement this afterward - going to take me a while :/
Sign in to join this conversation.
No description provided.