A cross-platform implementation of Dirman in Rust.

Overview

A Directory Manager for Neorg

The neorg-dirman crate is a core module which provides a basic interface for workspaces.

Workspaces are the backbone of Neorg - they are a directory with an assigned name whose files are .norg notes belonging to a specific area of focus.

This crate exposes a Workspace struct as well as a WorkspaceManager to easily keep track of many workspaces as well as the current ("active") workspace. A files() function is also provided to enumerate all files within a given workspace.

You might also like...
An experimental cross-platform UI framework in rust.
An experimental cross-platform UI framework in rust.

Cross-platform UI framework in Rust with Easy functional composasbles Flexible state management Desktop and mobile support Accessibility Native skia r

A new pure-Rust library for cross-platform low-level access to USB devices.

nusb A new pure-Rust library for cross-platform low-level access to USB devices. Documentation Compared to rusb and libusb Pure Rust, no dependency on

General purpose cross-platform GIS-rendering library written in Rust
General purpose cross-platform GIS-rendering library written in Rust

Galileo is a general purpose cross-platform geo-rendering library. Web examples Raster tile layer (OSM) Vector tile layer (Maplibre) Use buttons at th

A cross platform minimalistic text user interface
A cross platform minimalistic text user interface

titik Titik is a crossplatform TUI widget library with the goal of being able to interact intuitively on these widgets. It uses crossterm as the under

Alacritty - A fast, cross-platform, OpenGL terminal emulator
Alacritty - A fast, cross-platform, OpenGL terminal emulator

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows.

A cross-platform graphical process/system monitor with a customizable interface and a multitude of features
A cross-platform graphical process/system monitor with a customizable interface and a multitude of features

A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows. Inspired by both gtop and gotop.

Cross-platform terminal screen clearing library

ClearScreen Cross-platform terminal screen clearing library. API documentation. Dual-licensed with Apache 2.0 and MIT. Uses Caretaker Maintainership.

Cross-platform terminal program to download IEEE journals
Cross-platform terminal program to download IEEE journals

IEEE Journal Downloader A cross-platform terminal program which tries to download every article in a specified journal and merge the documents into on

📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.
📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.

📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.

Comments
  • fix: `destroy_files` function memory leak

    fix: `destroy_files` function memory leak

    This pr should make the destroy_files function free the memory correctly, that was earlier allocated in the workspace_files function.

    Automatic tests with memory analysis could be very useful. Haven't actually set up something like that on my own, but i can look into it.

    @vhyrro Maybe you can give your opinion on the todos i added. If I were to use this library in my application, I think I would want the library to crash if I passed in a value that didn't really make sense.

    opened by johanneshorner 3
  • chore(main): release 0.1.1

    chore(main): release 0.1.1

    :robot: I have created a release beep boop

    0.1.1 (2023-03-12)

    Bug Fixes

    • destroy_files function memory leak (#4) (92f028f)
    • ci: check out the repository before doing anything else (9196b59)

    This PR was generated with Release Please. See documentation.

    autorelease: tagged 
    opened by github-actions[bot] 1
  • chore(main): release 0.1.0

    chore(main): release 0.1.0

    :robot: I have created a release beep boop

    0.1.0 (2023-03-11)

    Features

    • add workspace_files C function (e437c9f)
    • add ffi.lua for debugging (482b044)
    • add rust.yml workflow (46b67d7)
    • create initial C bindings (9fd44ae)
    • enhance release profile to generate tiny library, add release_nostrip variant (b0774ff)
    • give Workspaces the files() function (352039b)
    • initial commit (d12932a)

    Bug Fixes

    • crate-type under wrong section (03d1b00)
    • broken c interop (#2) (674c47a)
    • tests: files() function of traverse workspace (#1) (92d6639)
    • use c_char instead of regular char (0dedd3e)

    This PR was generated with Release Please. See documentation.

    autorelease: tagged 
    opened by github-actions[bot] 1
  • Documentation Request

    Documentation Request

    I can't seem to locate any specific documentation for this module outside of the configuration readme linked to in Neorgs main readme file. I specifically can not find any documentation on hoe the index.norg file works or what the Neorg index command is supposed to do.

    opened by Rimann91 0
Releases(v0.1.1)
Owner
Neorg
Neorg
Cross-platform pseudoterminal (PTY/ConPTY) implementation with async support

pseudoterminal The pseudoterminal crate is a versatile pseudoterminal (PTY) implementation designed for Rust, offering asynchronous capabilities. This

Michael 3 Sep 15, 2023
Rust-battery - Rust crate providing cross-platform information about the notebook batteries.

battery Rust crate providing cross-platform information about the notebook batteries. Table of contents Overview Supported platforms Install Examples

svartalf 326 Dec 21, 2022
Cross-platform Rust library for coloring and formatting terminal output

Coloring terminal output Documentation term-painter is a cross-platform (i.e. also non-ANSI terminals) Rust library for coloring and formatting termin

Lukas Kalbertodt 75 Jul 28, 2022
Cross platform terminal library rust

Cross-platform Terminal Manipulation Library Crossterm is a pure-rust, terminal manipulation library that makes it possible to write cross-platform te

crossterm-rs 2.1k Jan 2, 2023
Cross-platform Rust rewrite of the GNU coreutils

Cross-platform Rust rewrite of the GNU coreutils

null 13k Jan 8, 2023
Cross-platform WebView library in Rust for Tauri.

Cross-platform WebView rendering library in Rust that supports all major desktop platforms like Windows, macOS, and Linux. Overview Wry connects the w

Tauri 2.2k Jan 9, 2023
Write Cross-platform application with React-like decralative UI framework and scalable ECS architecture all in Rust.

bevy_dioxus Dioxus Plugin for Bevy Write Cross-platform application with React-like decralative UI framework and scalable ECS architecture all in Rust

Junichi Sugiura 269 Dec 29, 2022
Rust-based language and runtime for cross-platform app development

Pax Pax is a cross-platform rendering engine & Rust framework for interactive graphics, animations, and GUIs. Pax extends the Rust programming languag

Pax 75 Dec 19, 2022
Safe Unix shell-like parameter expansion/variable substitution via cross-platform CLI or Rust API

Safe Unix shell-like parameter expansion/variable substitution for those who need a more powerful alternative to envsubst but don't want to resort to

Isak Wertwein 4 Oct 4, 2022
A pure Rust, cross-platform soundboard app

afx This thing is my attempt at a soundboard program. afx.mp4 Why? I tried some prior art and decided that none of the existing options fit my needs.

Andrew Kvapil 11 Dec 15, 2022