Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new fs.create() Lua API #2068

Merged
merged 5 commits into from
Dec 20, 2024
Merged

Conversation

hankertrix
Copy link
Contributor

@hankertrix hankertrix commented Dec 19, 2024

Split from #2062.

This implements the fs.create_dir function for plugin developers to use.

Implements a part of #1709.

@sxyazi sxyazi changed the title feat: expose directory creation as part of the fs module feat: new fs.create_dir() Lua API Dec 20, 2024
Copy link
Owner

@sxyazi sxyazi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much!

@hankertrix
Copy link
Contributor Author

hankertrix commented Dec 20, 2024

You’re welcome! Can’t wait for this to be merged!

@sxyazi
Copy link
Owner

sxyazi commented Dec 20, 2024

Hi, on second thought, I renamed it to fs.create(), so it's consistent with fs.remove(), and it also allows us to expand with other behaviors later, like fs.create("file", ...) for creating files, not just directories. Hope that's fine with you!

@sxyazi sxyazi changed the title feat: new fs.create_dir() Lua API feat: new fs.create() Lua API Dec 20, 2024
@sxyazi sxyazi merged commit f017699 into sxyazi:main Dec 20, 2024
6 checks passed
@hankertrix
Copy link
Contributor Author

Yeap, that's fine with me!

Having one function to create multiple things is really nice!

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 21, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [sxyazi/yazi](https://github.com/sxyazi/yazi) | patch | `v0.4.1` -> `v0.4.2` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>sxyazi/yazi (sxyazi/yazi)</summary>

### [`v0.4.2`](https://github.com/sxyazi/yazi/releases/tag/v0.4.2)

[Compare Source](sxyazi/yazi@v0.4.1...v0.4.2)

This is a quick patch release with 3 fixes:

-   Fixed an issue where switching directories in Yazi didn't update the CWD, causing issues with features that depend on the CWD (like terminal splitting and `cd --interactive` path completion).
-   Fixed a bug where the UI wouldn't refresh when returning to Yazi from an external blocking process (like a shell) while in an empty directory.
-   Fixed an issue where the preview wouldn't update after sorting directories when using the [Folder-specific rules](https://yazi-rs.github.io/docs/tips/#folder-rules) tip.

Here are some new features:

-   Added support for a large number of new archive formats for extraction, previewing, and filetype highlighting in sxyazi/yazi#1926 (thanks to [@&#8203;Integral-Tech](https://github.com/Integral-Tech)).
-   Added a new temporary option `_v4_suppress_deprecation_warnings` in [#&#8203;2027](sxyazi/yazi#2027) to suppress all deprecation warnings as a workaround for the transition to version 0.4:
    ```toml
    ```

### yazi.toml

\[manager]
\_v4\_suppress_deprecation_warnings = true

    - Added 2 new Lua APIs
    - `fs.cwd()` - get the current working directory
    -  `fs.create()` - create a directory (Thanks to @&#8203;hankertrix)
    #### What's Changed
    * fix: interactive `cd` autocomplete doesn't follow the latest `CWD` changes by @&#8203;sxyazi in sxyazi/yazi#2025
    * feat: new option to suppress 0.4 deprecation warnings by @&#8203;sxyazi in sxyazi/yazi#2027
    * fix: offset cursor shift when deleting multiple files in bulk by @&#8203;sxyazi in sxyazi/yazi#2030
    * chore: bump version to 0.4.2 by @&#8203;sxyazi in sxyazi/yazi#2031
    * fix: choose a more conservative `macro_workers` value to ensure concurrency safety with certain USB flash drives by @&#8203;sxyazi in sxyazi/yazi#2040
    * feat: support for Android platform in the `for` qualifier of opener by @&#8203;sxyazi in sxyazi/yazi#2041
    * fix: set the current working directory in a thread-safe way by @&#8203;sxyazi in sxyazi/yazi#2043
    * fix: `allow-passthrough` must be set to `on` to prevent `tmux` from forwarding the real terminal's response to the inactive pane by @&#8203;sxyazi in sxyazi/yazi#2052
    * fix: pass through `show_hidden` when building default `Files` by @&#8203;sxyazi in sxyazi/yazi#2057
    * fix: use a less intrusive `DSR` instead of `DA1` workaround to forward terminal responses twice in `tmux` by @&#8203;sxyazi in sxyazi/yazi#2058
    * feat: new `--cwd` parameter for the `shell` command and `fs.cwd()` API by @&#8203;sxyazi in sxyazi/yazi#2060
    * feat: allow `noop` for single-key chords by removing the mixing length limit by @&#8203;sxyazi in sxyazi/yazi#2064
    * ci: add riscv64gc-unknown-linux-gnu target by @&#8203;Integral-Tech in sxyazi/yazi#2067
    * fix: missing a render after resuming from an external blocking process by @&#8203;sxyazi in sxyazi/yazi#2071
    * feat: add more supported archive formats to the preset config by @&#8203;Integral-Tech in sxyazi/yazi#1926
    * feat: new `fs.create()` Lua API by @&#8203;hankertrix in sxyazi/yazi#2068
    * fix: missing a hover after reordering from an external plugin by @&#8203;sxyazi in sxyazi/yazi#2072

    **Full Changelog**: sxyazi/yazi@v0.4.1...v0.4.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS43Ny4wIiwidXBkYXRlZEluVmVyIjoiMzkuNzcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
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