Skip to content

refactor: expose path_truncate#3366

Open
sassanh wants to merge 1 commit intonvim-telescope:masterfrom
sassanh:expose-path_truncate
Open

refactor: expose path_truncate#3366
sassanh wants to merge 1 commit intonvim-telescope:masterfrom
sassanh:expose-path_truncate

Conversation

@sassanh
Copy link
Copy Markdown

@sassanh sassanh commented Nov 19, 2024

Description

Third parties and custom pickers would benefit from path_truncate being exposed in the API, specially considering it is using calc_result_length and it is too complicated and hacky for other developers to come to the conclusion they can achieve line length like that, I made it public for myself and now I can truncate paths in my custom picker like this:

utils.path_truncate(display_filename, 1, {})

I can't imagine how I could achieve this myself without investing so much time.

Fixes # (issue)

Type of change

  • This change requires a documentation update --- does it? I'm not sure if similar items in the api are documented, for example is_path_hidden is not documented.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list relevant details about your configuration

N/A as it is just exposing something already used internally and has been tested.

Configuration:

  • Neovim version (nvim --version):
  • Operating system and version:

Checklist:

  • My code follows the style guidelines of this project (stylua)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • [?] I have made corresponding changes to the documentation (lua annotations)

@Conni2461
Copy link
Copy Markdown
Member

We prefer if third party picker would use path_display instead

@sassanh
Copy link
Copy Markdown
Author

sassanh commented Nov 28, 2024

@Conni2461
I think I'm missing something here, path_display is a config variable taking values of hidden, tail, absolute, etc as far as I understand, path_truncate on the other hand is a utility function that actually truncates path based on the available width, I understand third party pickers should respect path_display config variable, but how can they "use" it to actually implement truncating paths respecting available width?

@Conni2461
Copy link
Copy Markdown
Member

extensions should use transform_path (see :help telescope.utils.transform_path) which will then consume path_display correctly.

maybe i didnt get your use case, why you want to have path_truncate available publicly. in the past i'd like to have a somewhat slim interface so less extensions depend on functions "being there with that interface". but that was also in Nov 2024 and now its april 2026 so idk if this is still something you want to have merged 😅 I am sorry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants