Create ctags/etags for a cargo project

Overview

Build Status

rusty-tags

A command line tool that creates tags - for source code navigation by using ctags - for a cargo project, all of its direct and indirect dependencies and the rust standard library.

Prerequisites

  • ctags installed, needs a version with the --recurse flag

On a linux system the package is most likely called exuberant-ctags.

Otherwise you can get the sources directly from here or use the newer and alternative universal-ctags.

Only universal-ctags will add tags for struct fields and enum variants.

Installation

$ cargo install rusty-tags

The build binary will be located at ~/.cargo/bin/rusty-tags.

Usage

Just calling rusty-tags vi or rusty-tags emacs anywhere inside of the cargo project should just work.

After its run a rusty-tags.vi / rusty-tags.emacs file should be beside of the Cargo.toml file.

Additionally every dependency gets a tags file at its source directory, so jumping further to its dependencies is possible.

Rust Standard Library Support

Tags for the standard library are created if the rust source is supplied by defining the environment variable RUST_SRC_PATH.

These tags aren't automatically added to the tags of the cargo project and have to be added manually with the path $RUST_SRC_PATH/rusty-tags.vi or $RUST_SRC_PATH/rusty-tags.emacs.

If you're using rustup you can get the rust source of the currently used compiler version by calling:

$ rustup component add rust-src

And then setting RUST_SRC_PATH inside of e.g. ~/.bashrc.

For rustc >= 1.47.0:

$ export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library/

For rustc < 1.47.0:

$ export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/src/

Configuration

The current supported configuration at ~/.rusty-tags/config.toml (defaults displayed):

# the file name used for vi tags
vi_tags = "rusty-tags.vi"

# the file name used for emacs tags
emacs_tags = "rusty-tags.emacs"

# the name or path to the ctags executable, by default executables with names
# are searched in the following order: "ctags", "exuberant-ctags", "exctags", "universal-ctags", "uctags"
ctags_exe = ""

# options given to the ctags executable
ctags_options = ""

Vim Configuration

Put this into your ~/.vimrc file:

autocmd BufRead *.rs :setlocal tags=./rusty-tags.vi;/

Or if you've supplied the rust source code by defining RUST_SRC_PATH:

autocmd BufRead *.rs :setlocal tags=./rusty-tags.vi;/,$RUST_SRC_PATH/rusty-tags.vi

And:

autocmd BufWritePost *.rs :silent! exec "!rusty-tags vi --quiet --start-dir=" . expand('%:p:h') . "&" | redraw!

Emacs Configuration

Install counsel-etags.

Create file .dir-locals.el in rust project root (please note the line to set counsel-etags-extra-tags-files is optional):

((nil . ((counsel-etags-update-tags-backend . (lambda (src-dir) (shell-command "rusty-tags emacs")))
         (counsel-etags-extra-tags-files . ("~/third-party-lib/rusty-tags.emacs" "$RUST_SRC_PATH/rusty-tags.emacs"))
         (counsel-etags-tags-file-name . "rusty-tags.emacs"))))

Use M-x counsel-etags-find-tag-at-point for code navigation.

counsel-etags will automatically detect and update tags file in project root. So no extra setup is required.

Sublime Configuration

The plugin CTags uses vi style tags, so calling rusty-tags vi should work.

By default it expects tag files with the name .tags, which can be set in ~/.rusty-tags/config.toml:

vi_tags = ".tags"

Or by calling rusty-tags vi --output=".tags".

MacOS Issues

Mac OS users may encounter problems with the execution of ctags because the shipped version of this program does not support the recursive flag. See this posting for how to install a working version with homebrew.

Cygwin/Msys Issues

If you're running Cygwin or Msys under Windows, you might have to set the environment variable $CARGO_HOME explicitly. Otherwise you might get errors when the tags files are moved.

Comments
  • CPU hungry

    CPU hungry

    I'm not sure how to provide better diagnostics than this, but for a moderately sized project (in terms of dependencies) rusty-tags consumes a lot of CPU - all 4 procs peg for about 2 minutes every time it's run. This isn't a huge deal, except when trying to use it as described in the README - to run on every save in Vim. Additionally, it seems to acquire a lock on the code files, so that cargo waits for it to complete.

    Am I doing something wrong? Can I provide more information? My Cargo.toml looks like:

    ...
    [dependencies]
    error-chain = "^0.11"
    tokio-tls = { version = "^0.1", features = ["tokio-proto"] }
    tokio-core = "^0.1"
    tokio-proto = "^0.1"
    tokio-service = "^0.1"
    futures = "^0.1"
    hyper = "^0.11"
    hyper-tls = "^0.1"
    native-tls = "^0.1"
    url = "^1.0"
    uritemplate = "^0.1"
    oauth2 = "^1.1"
    rand = "^0.3"
    base64 = "^0.7"
    toml = "^0.4"
    serde = "^1.0"
    serde_derive = "^1.0"
    
    opened by nyarly 23
  • Permission Denied error when building tags on Windows

    Permission Denied error when building tags on Windows

    Hello,

    I'm trying to build tags on Windows 10, but it fails with this output:

    Using configuration: vi_tags='rusty-tags.vi', emacs_tags='rusty-tags.emacs', ctags_exe='None', ctags_options=''
    Found ctags executable: UniversalCtags("ctags")
    Fetching source and metadata ...
    Creating tags for the standard library ...
    
    Creating tags ...
       for source:
          C:\Users\s\.rustup\toolchains\nightly-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src\liballoc
          C:\Users\s\.rustup\toolchains\nightly-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src\libbacktrace
          C:\Users\s\.rustup\toolchains\nightly-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src\libcore
          C:\Users\s\.rustup\toolchains\nightly-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src\libstd
          C:\Users\s\.rustup\toolchains\nightly-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src\libterm
    
       cached at:
          C:\Users\s\.rustup\toolchains\nightly-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src\.tmp2UQ9VR
    ctags: cannot open tag file : Permission denied
    

    This happens both when run as an administrator and otherwise. According to other people's output, the cached into a file named rusty-tags.emacs (since I'm building Emacs tags, though the issue happens for Vi tags as well). I tried creating one, but the error persists. No file starting with .tmp is found in the directory either.

    Building tags from CTags itself works fine, though I would love to have the convenience of rusty-tags to handle the standard library etc.

    opened by syvsto 17
  • rusty-tags blocks vim ~5 seconds when :w executes in a very large project

    rusty-tags blocks vim ~5 seconds when :w executes in a very large project

    Hi,

    I use rusty-tags for a while. It is a wonderful plugin. But recently I found that every time when I execute ":w", the vim will hang for few seconds. Is there anyway to execute the refresh tags file in async way?

    image

    opened by w93163red 12
  • tags for rust standard library not generated

    tags for rust standard library not generated

    Hi,

    After install rusty-tags from cargo install or from this Git repo with cargo build I use the rusty-tags setting RUST_SRC_PATH env variable.

    From verbose mode I see

    ❯ rusty-tags --force-recreate --verbose  vi
    Switching to single threaded for verbose output
    Using configuration: vi_tags='rusty-tags.vi', emacs_tags='rusty-tags.emacs', ctags_exe='Some("/home/albertop/GitHub/ctags/ctags")', ctags_options=''
    Found ctags executable: UniversalCtags("/home/albertop/GitHub/ctags/ctags")
    Fetching source and metadata ...
    Creating tags for the standard library ...
    
    Creating tags ...
       with command: "/home/albertop/GitHub/ctags/ctags" "--recurse" "--languages=Rust" "-o" "/home/albertop/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/.tmpflvfrb"
    
       for source:
    
       cached at:
          /home/albertop/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/.tmpflvfrb
    
    Move tags ...
       from:
          /home/albertop/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/.tmpflvfrb
       to:
          /home/albertop/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rusty-tags.vi
    Found package of (files, 0.1.0) with source at '/home/albertop/Dev/rust/files/src'
    Found workspace members: [(files, 0.1.0)]
    Building tree for (files, 0.1.0)
    Creating tags for: files ...
    
    

    Tags for cargo project are ok but not for standard library.

    Workaround is to run ctags under $RUST_SRC_PATH manually.

    opened by albertopatino 11
  • `Expected one matching path for '/home/dpc/.cargo/registry/src/github.com-*'!`

    `Expected one matching path for '/home/dpc/.cargo/registry/src/github.com-*'!`

    Hi,

    No matter which project I try, I get:

    % rusty-tags vi Fetching source of dependencies ... Expected one matching path for '/home/dpc/.cargo/registry/src/github.com-*'!

    I don't seem to have ~/.cargo/registry/

    opened by dpc 10
  • Add command line option to set tags filename

    Add command line option to set tags filename

    Adds an option to set the output filename from the command line rather than needing to use a global config file.

    To support this, removes the restriction and vi and emacs filenames can't be the same. From a config file perspective I think the user can be trusted to understand the consequences of naming the files the same thing.

    opened by jhand2 9
  • Tries to open cached files even if they do not exist

    Tries to open cached files even if they do not exist

    When I run rusty-tags on my project, I get this message:

    $ rusty-tags vi
    Fetching source of dependencies ...
    No such file or directory (os error 2)
    

    If I use opensnoop to look at what rusty-tags is failing to open, it's a cached tag file in my home directory:

    2124038712  81853 rusty-tags    -1 /Users/me/.rusty-tags/cache/clippy_lints-0.0.71.vi
    

    If I create that file, I get the same no such file error, but now it's trying to load a new cache file:

    2124038712  81958 rusty-tags    -1 /Users/me/.rusty-tags/cache/clippy-0.0.71.vi
    

    It seems like these cache files should be built if they don't exist, not just failing the program. I'm using rusty-tags version 0.8.2, rustc nightly and OS X 10.10.5

    opened by lily-mara 9
  • Remove unnecessary branches in recursion.

    Remove unnecessary branches in recursion.

    I am using rusty-tags on a very large source base. As the base grew, rusty-tags started to require too much resources and eventually to hang. I looked into the source code and identified places to improve the performance. The tags that are created by the resulting binary seems to be functioning well according to a short experiment.

    Before this patch, killed by ctrl-C after an hour: egeyar@oberland:~/repos/dfinity/rs$ time /home/egeyar/repos/rusty-tags/target/debug/rusty-tags --num-threads=1 vi Fetching source and metadata ... ^C real 62m6.178s user 62m2.417s sys 0m0.513s

    egeyar@oberland:~/repos/dfinity/rs$

    After this patch, completed under 40 seconds: egeyar@oberland:~/repos/dfinity/rs$ time /home/egeyar/repos/rusty-tags/target/debug/rusty-tags --num-threads=1 vi Fetching source and metadata ... Creating tags for: <some 107 crates in the project> ...

    real 0m39.201s user 0m38.261s sys 0m0.894s

    egeyar@oberland:~/repos/dfinity/rs$

    opened by egeyar 8
  • Support workspace projects

    Support workspace projects

    I'm working on a workspace project, where the root Cargo.toml only contains the workspace section.

    I would love if tags would be generated in one file rather than one rusty-tags.vi file for each crate in the workspace.

    opened by matthiasbeyer 8
  • Too many open files on large project

    Too many open files on large project

    I'd like to use rusty-tags to jump into dependencies. My current setup using ctags just works for files in the local repo. But unfortunately I keep getting the error:

    Too many open files (os error 24) at path "/var/folders/8l/77fwhqdx3tvfnn3s_k7nlwgm0000gn/T/.tmpxEFnsF"
    

    Is there any way to limit the number of files open at a given time? I've tried with ctags as well as universal-ctags but it doesn't seem to make a difference.

    Mac OS 10.15.5

    opened by bodymindarts 7
  • Specify output directory

    Specify output directory

    I'm using NixOS, so the natural way to get and update my rust source directory involves installing it to a read-only filesystem. It'd be keen, therefore, to be able to tell rusty-tags to write its tag file, as opposed to into the root of the rustlib source.

    I could probably produce a PR for this, if that'd help.

    opened by nyarly 7
  • rusty-tags.vi file not generated via rusty-tags vi command

    rusty-tags.vi file not generated via rusty-tags vi command

    I have universal tags installed with recurse flag. However, after executing rusty-tags vi command following error occurs -

    
    ❯ rusty-tags vi
    Fetching source and metadata ...
    Creating tags for: ockam, ockam_abac, ockam_core, ockam_macros, ockam_identity, ockam_channel, ockam_key_exchange_core, ockam_key_exchange_xx, ockam_node, ockam_executor, ockam_vault, ockam_key_exchange_x3dh, ockam_transport_tcp, ockam_transport_core, ockam_api, ockam_multiaddr, ockam_command, ockam_examples, ockam-ffi, ockam_transport_ble, ockam_transport_udp, ockam_transport_websocket, file_transfer, example_test_helper, hello_ockam, ockam_kafka, tcp_inlet_and_outlet, example_blocks ...
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Message("ctags: cannot open tag file : No such file or directory\n")', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs:76:thread '78<unnamed>
    ' panicked at 'note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    called `Result::unwrap()` on an `Err` value: Message("ctags: cannot open tag file : No such file or directory\n")', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs:76:78
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Message("ctags: cannot open tag file : No such file or directory\n")', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs:76:78
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Message("ctags: cannot open tag file : No such file or directory\n")', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs:76:78
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Message("ctags: cannot open tag file : No such file or directory\n")', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs:76:78
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Message("ctags: cannot open tag file : No such file or directory\n")', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs:76:78
    thread 'main' panicked at 'Thread pool worker panicked', /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped_threadpool-0.1.9/src/lib.rs:236:13
    ❯ vim /home/aniruddha/.cargo/registry/src/github.com-1ecc6299db9ec823/rusty-tags-3.10.0/src/tags.rs
    
    opened by duttaANI 2
  • Vim can't find recursive tag files

    Vim can't find recursive tag files

    setup:

    • cloned bevy
    • installed universal ctags on Fedora 35
    • ran rusty-tags vi
    • added env var and vimrc lines
    • open neovim in the root directory
    • open ./examples/games/breakout.rs
    • C-] lots of places

    I can follow the tag "bevy::sprite" which leads to crates/bevy_internal/src/lib.rs. I can follow tags to other prototypes inside of crates/bevy_internal/src/lib.rs. I can find things inside the standard library with no problem. My autocmds are exactly like the "if you have a $RUST_SRC_PATH".

    My uneducated guess is that Vim's not finding the recursively-created tag files and adding them to the tags variable. My tags variable is below.

    tags=./rusty-tags.vi;/,~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rusty-tags.vi

    opened by thenorili 5
  • newer builds of universal-ctags refuse to overwrite tempfiles

    newer builds of universal-ctags refuse to overwrite tempfiles

    rusty-tags  --force-recreate --verbose  vi
    Switching to single threaded for verbose output
    Using configuration: vi_tags='rusty-tags.vi', emacs_tags='rusty-tags.emacs', ctags_exe='None', ctags_options='-a'
    Found ctags executable: UniversalCtags("universal-ctags")
    Fetching source and metadata ...
    Creating tags for the standard library ...
    
    Creating tags ...
       with command: "universal-ctags" "--recurse" "-a" "--languages=Rust" "-o" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/.tmpUfZO6D" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/profiler_builtins" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rtstartup" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/term" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test" "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind"
    
       for source:
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/profiler_builtins
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rtstartup
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/term
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind
    
       cached at:
          /home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/.tmpUfZO6D
    ctags: "/home/andrew/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/.tmpUfZO6D" doesn't look like a tag file; I refuse to overwrite it.
    
    
    opened by AjBreidenbach 1
  • Add cargo.lock file back to version control

    Add cargo.lock file back to version control

    Hello, thanks for your work on rusty-tags.

    Commit 3bfc1a3f4fa7f48b8f3072fea2c6a456c6736106 removes the Cargo.lock file from version control. However, it is recommended by the rust book to keep the Cargo.lock file in releases. It seems that the reason it was removed isn't justified. Newer versions of Cargo still understand the old Cargo.lock format. It just has to be regenerated by using an older version of Cargo. Future calls to cargo update, even with a recent version of Cargo wont change the format.

    If you want I can make a PR adding a new lockfile with the old format.

    opened by sgued 4
Owner
Daniel Trstenjak
Daniel Trstenjak
Cargo command to create the README.md from your crate's documentation

Cargo rdme Cargo command to create your README from your crate’s documentation. Installation You can install cargo rdme with cargo by running cargo in

Diogo Sousa 42 Dec 24, 2022
Automated license checking for rust. cargo lichking is a Cargo subcommand that checks licensing information for dependencies.

cargo-lichking Automated license checking for rust. cargo lichking is a Cargo subcommand that checks licensing information for dependencies. Liches ar

Nemo157 120 Dec 19, 2022
Create evolving artistic images with hot-code-reloaded Lisp and GLSL.

Shadergarden is a tool for building hot-code-reloadable shader pipelines. For a tutorial for how to get started, consult the introductory

Tonari, Inc 101 Dec 29, 2022
Create target folder as a RAMdisk for faster Rust compilation.

cargo-ramdisk This crate is only supported for unix like systems! cargo-ramdisk creates a ramdisk at the target folder of your project for ridiculousl

PauMAVA 20 Jan 8, 2023
Bundle Cargo crates for use with macOS/iOS in Xcode

cargo-cocoapods - Build Rust code for Xcode integration Installing cargo install cargo-cocoapods You'll also need to install all the toolchains you i

Brendan Molloy 14 Dec 29, 2022
allows you to run multiple cargo commands in a row

Cargo Do Allows you to put multiple cargo commands on one line, e.g. $ cargo do clean, update, build Installation cargo install cargo-do From Source

Paul Woolcock 20 Sep 11, 2022
cargo extension that can generate ebuilds using the in-tree eclasses

cargo-ebuild cargo ebuild is a Cargo subcommand that generates an ebuild recipe that uses cargo.eclass to build a Cargo based project for Gentoo Insta

Doug Goldstein 79 Dec 12, 2022
cargo extension that can generate BitBake recipes utilizing the classes from meta-rust

cargo-bitbake cargo bitbake is a Cargo subcommand that generates a BitBake recipe that uses meta-rust to build a Cargo based project for Yocto Install

null 60 Oct 28, 2022
Find unused dependencies in Cargo.toml

cargo-udeps Find unused dependencies in Cargo.toml. While compilation of this tool also works on Rust stable, it needs Rust nightly to actually run. I

null 997 Jan 4, 2023
Ocy project cleaner

Ocy project cleaner Ocy is a simple, temporary build files cleaner CLI written in Rust. Colophon Ocy is short for Ocypode cordimanus, or smooth-handed

Alexandre Delattre 14 Sep 5, 2022
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 294 Dec 23, 2022
A parallel universal-ctags wrapper for git repository

ptags A parallel universal-ctags wrapper for git repository Description ptags is a universal-ctags wrapper to have the following features. Search git

null 107 Dec 30, 2022
Modeling is a tools to analysis different languages by Ctags

Modeling Modeling is a tools to analysis different languages by Ctags process: generate to opt call ctags with opt analysis ctags logs output resulse

Inherd OS Team (硬核开源小组) 13 Sep 13, 2022
Create a Python project automatically with rust (like create-react-app but for python)

create-python-project Create a Python project automatically with rust (like create-react-app but for python) Installation cargo install create-python-

Dhravya Shah 2 Mar 12, 2022
Manas project aims to create a modular framework and ecosystem to create robust storage servers adhering to Solid protocol in rust.

मनस् | Manas Solid is a web native protocol to enable interoperable, read-write, collaborative, and decentralized web, truer to web's original vision.

Manomayam 17 Oct 5, 2023
A CLI tool that allow you to create a temporary new rust project using cargo with already installed dependencies

cargo-temp A CLI tool that allow you to create a new rust project in a temporary directory with already installed dependencies. Install Requires Rust

Yohan Boogaert 61 Oct 31, 2022
Create That Project. Project Creation That Rocks 🎸🧱.

Create That Project Config Example Install $ cargo install ctp Basic Info In any file or even in the commands sections of your config file you can pla

Will 5 Dec 20, 2021
This tool allows you to create the files needed for a Visual Studio project so that you can continue coding on a Mac for C++ with Visual Studio Code and then submit the Visual Studio project for Class Assignments

This tool allows you to create the files needed for a Visual Studio project so that you can continue coding on a Mac for C++ with Visual Studio Code and then submit the Visual Studio project for Class Assignments

cameron 3 Jan 18, 2023
Create virtual serial ports, connect them to physical serial ports, and create routes between them all.

Virtual Serial Port Router (vsp-router) Create virtual serial ports, connect them to physical serial ports, and create routes between them all. vsp-ro

Rob Donnelly 3 Nov 24, 2022
A quick create wizard to create and modify opinionated kustomize deployments.

kqc ?? ☸️ A quick create wizard to create and modify opinionated kustomize deployments. This tool should help to quickly create and build up kustomize

Daniel Jankowski 8 May 20, 2023