Categorygithub.com/gabrielg2020/goto
repository
1.0.0
Repository: https://github.com/gabrielg2020/goto.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

goto

goto is a lightweight terminal tool that simplifies directory navigation.

Features

  • Quickly navigate directories with fuzzy search.
  • Customise behaviour with configuration options.
  • Compatible with Bash and Zsh shells.

Installation

Using a Package Manager

Coming soon!

Manual Installation

1. Clone the repository:

git clone https://github.com/gabrielg2020/goto.git
cd goto

2. Build the binary:

go build -o goto ./cmd/

3. Move the binary to a directory in your PATH:

mv goto /usr/local/bin/

4. Install dependencies

Please make sure that these are installed.

Shell Integration

Automated Integration

Run the provided setup script to automate this setup:

./setup.sh

Manual Integration

Add the following function to your .bashrc or .zshrc:

goto() {
    dir=$(/usr/local/bin/goto "$@")

    if [ -d "$dir" ]; then
        echo "Changing directory to: $dir"
        cd "$dir"
    else
        echo "No directory selected or invalid directory: $dir"
    fi
}

Verify Installation

[!NOTE] Coming soon!

goto --help

Usage

Basic Command

goto <pattern>

Example

goto src

Options

OptionDescription
-dSpecify maximum search depth.
-hDisplay help message.
<pattern>Fuzzy search pattern for directories.

Configuration

goto uses a configuration file located at ~/.goto_config.yaml. This file is optional and allows you to customise the tool's behaviour.

Example Configuration

maxDepth: 3
excludeDirs:
  - node_modules
  - .git
  - .vscode

Options

OptionDescriptionDefault
maxDepthMaximum search depth.5
excludeDirsDirectories to be excluded from the search.".git", "node_modules"

Contributing

We welcome contributions! Please look at CONTRIBUTING.md to learn how to contribute.

developers.md

The Developers Guide explains some key ideas and decisions, future consideration and extra knowledge of this project.

Change Log

Change Log

Documentation

Coming Soon!

License

The MIT Licence (MIT)

Copyright (c) 2023 - 2024 Gabriel Guimaraes. All Rights Reserved.