All Projects β†’ regexident β†’ Cargo Modules

regexident / Cargo Modules

Licence: mpl-2.0
A cargo plugin for showing a tree-like overview of a crate's modules.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Cargo Modules

Awesome Awesome Nodejs
πŸ’πŸš€ An Awesome list of Awesome lists related to Node.js.
Stars: ✭ 1,389 (+525.68%)
Mutual labels:  modules, developer-tools
Bit
A tool for component-driven application development.
Stars: ✭ 14,443 (+6405.86%)
Mutual labels:  modules, developer-tools
M2
The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
Stars: ✭ 200 (-9.91%)
Mutual labels:  modules
Ios
Unofficial app for Swift Evolution
Stars: ✭ 217 (-2.25%)
Mutual labels:  developer-tools
Splitgraph
Splitgraph command line client and python library
Stars: ✭ 209 (-5.86%)
Mutual labels:  developer-tools
Aiohttp Devtools
dev tools for aiohttp
Stars: ✭ 202 (-9.01%)
Mutual labels:  developer-tools
Sfpowerkit
A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows
Stars: ✭ 214 (-3.6%)
Mutual labels:  developer-tools
Fprettify
auto-formatter for modern fortran source code
Stars: ✭ 193 (-13.06%)
Mutual labels:  developer-tools
Dev Tools
The most popular software developer tools in one app
Stars: ✭ 221 (-0.45%)
Mutual labels:  developer-tools
Yalc
Work with yarn/npm packages locally like a boss.
Stars: ✭ 3,155 (+1321.17%)
Mutual labels:  developer-tools
Mod
Automated Semantic Import Versioning Upgrades
Stars: ✭ 217 (-2.25%)
Mutual labels:  modules
Gitpkg
Publish packages as git tags
Stars: ✭ 208 (-6.31%)
Mutual labels:  modules
Systemjs Hot Reloader
reloads your modules as needed so that you can have satisfyingly fast feedback loop when developing your app
Stars: ✭ 215 (-3.15%)
Mutual labels:  developer-tools
Cml
♾️ CML - Continuous Machine Learning | CI/CD for ML
Stars: ✭ 2,843 (+1180.63%)
Mutual labels:  developer-tools
Vuex Feature Scoped Structure
πŸ“ˆ Feature scoped Vuex modules to have a better organization of business logic code inside Vuex modules based on Large-scale Vuex application structures @3yourmind
Stars: ✭ 218 (-1.8%)
Mutual labels:  modules
Wiretap
πŸ” A desktop app for inspecting mobx and mobx state tree apps
Stars: ✭ 198 (-10.81%)
Mutual labels:  developer-tools
Kubefwd
Bulk port forwarding Kubernetes services for local development.
Stars: ✭ 2,713 (+1122.07%)
Mutual labels:  developer-tools
Videoplayback Ios
Swift AVPlayer wrapper using the VIPER architecture. Currently a work in progress
Stars: ✭ 213 (-4.05%)
Mutual labels:  modules
Rustplayground
Quickly test Rust code on macOS
Stars: ✭ 222 (+0%)
Mutual labels:  developer-tools
React Monocle
A developer tool to visualize a React application's component hierarchy.
Stars: ✭ 2,440 (+999.1%)
Mutual labels:  developer-tools

cargo-modules

Build Status Downloads Version License

Synopsis

A cargo plugin for showing an overview of a crate's modules.

Motivation

With time, as your Rust projects grow bigger and bigger, it gets more and more important to properly structure your code. Fortunately Rust provides us with a quite sophisticated module system, allowing us to neatly split up our crates into arbitrarily small sub-modules of types and functions. While this helps to avoid monolithic and unstructured chunks of code, it can also make it hard at times to still mentally stay on top of the over-all high-level structure of the project at hand.

This is where cargo-modules comes into play:

Installation

Install cargo-modules via:

cargo install cargo-modules

Usage

Print crate as a tree

cargo modules generate tree <OPTIONS>
USAGE:
    cargo-modules generate tree [FLAGS] [OPTIONS]

FLAGS:
        --all-features           Activate all available features
    -h, --help                   Prints help information
        --lib                    Process only this package's library
        --no-default-features    Do not activate the `default` feature
    -V, --version                Prints version information
        --verbose                Enable verbose messages during command execution
        --with-orphans           Include orphaned modules (i.e. unused files in /src)
        --with-tests             Include tests (e.g. `#[cfg(test)] mod tests { … }`)
        --with-types             Include types (e.g. structs, enums)

OPTIONS:
        --bin <bin>                        Process only the specified binary
        --features <features>...           List of features to activate. This will be ignored if `--cargo-all-features`
                                           is provided
        --focus-on <focus-on>              Focus the graph on a particular path's environment
        --manifest-path <manifest-path>     [default: ./Cargo.toml]
        --max-depth <max-depth>            The maximum depth of the generated graph relative to the node selected by
                                           '--focus-on'
    -p, --package <package>                Package to process (see `cargo help pkgid`)
        --target <target>                  rustc target

Print crate as a graph

cargo modules generate graph <OPTIONS>
USAGE:
    cargo-modules generate graph [FLAGS] [OPTIONS]

FLAGS:
        --all-features           Activate all available features
    -h, --help                   Prints help information
        --lib                    Process only this package's library
        --no-default-features    Do not activate the `default` feature
    -V, --version                Prints version information
        --verbose                Enable verbose messages during command execution
        --with-externs           Include used modules and types from extern crates
        --with-orphans           Include orphaned modules (i.e. unused files in /src)
        --with-tests             Include tests (e.g. `#[cfg(test)] mod tests { … }`)
        --with-types             Include types (e.g. structs, enums)
        --with-uses              Include used modules and types

OPTIONS:
        --bin <bin>                        Process only the specified binary
        --features <features>...           List of features to activate. This will be ignored if `--cargo-all-features`
                                           is provided
        --focus-on <focus-on>              Focus the graph on a particular path's environment
        --layout <layout>                  The graph layout algorithm to use (e.g. dot, neato, twopi, circo, fdp, sfdp)
                                           [default: neato]
        --manifest-path <manifest-path>     [default: ./Cargo.toml]
        --max-depth <max-depth>            The maximum depth of the generated graph relative to the node selected by
                                           '--focus-on'
    -p, --package <package>                Package to process (see `cargo help pkgid`)
        --target <target>                  rustc target


        If you have xdot installed on your system, you can run this using:
        `cargo modules generate dependencies | xdot -`

No-Color Mode

cargo-modules checks for the presence of a NO_COLOR environment variable that, when present (regardless of its value), prevents the addition of color to the console output.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct,
and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MPL-2.0 – see the LICENSE.md file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].