Support both forward and backslashes on Windows

Open
#393 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
lua

Research direction

Start at the plenary Path:new entry point and reproduce the forward-slash and mixed-slash Windows examples from the issue. The work is done when parent() handles Windows paths using either separator, including mixed separators, without resolving against the current directory unexpectedly.

Written by the indexing model from the issue text.

Description

Both forward and backslashes are valid path separators on Windows.
Right now, plenary doesn't seem to know what to do with Windows paths that contain forward slashes.

For example:
:lua print(require("plenary").Path:new("C:/path/to/file"):parent())
will output whatever the current directory is for some reason, regardless of input.

Mixed slashes also don't work correctly:
:lua print(require("plenary").Path:new("C:\\path/to/file"):parent()) outputs C:

While:
:lua print(require("plenary").Path:new("C:/path\\to/file"):parent()) outputs D:\C:/path (D:\ was my current directory)

Dominant language
Lua
Stars
3.5k
Forks
340
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nvim-lua/plenary.nvim

All issues in nvim-lua/plenary.nvim

Similar issues

More Lua issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.