Skip to content

CyberFlameGO/septum

 
 

septum

Alire Build Status Test Status

Context-based code search tool

What does this do?

Septum is like grep, but searches for matching contexts of contiguous lines, rather than just single lines.

Include match

Limiting the search into blocks around search terms allows searching for elements in arbitrary order which may span across lines, in a way which can be difficult to express in other tools. Sometimes terms appear multiple times in a project and have names which change based on context. Septum allows exclusion of these contexts.

Exclude match

Why does this exist?

Finding what you need in large codebases is hard. Sometimes terms have multiple meanings in different parts of the project, and figuring out what you're looking for needs to be done in an incremental fashion.

Septum provides an interactive environment to push and pop search filters to narrow or expand a search.

Septum is designed to be a standalone application for the lone developer on their own hardware, searching closed source software. This means the program should use a minimum number of dependencies to simplify security auditing and perform no network operations.

Command diagram

Example

asciicast

Building

  1. This project requires a recent release of the Alire tool to build.
  2. Install a toolchain.
alr toolchain --select
  1. Build
alr build
  1. Executable should be at bin/septum(.exe)

Installation

Septum is currently available as a prerelease beta.

Windows Chocolatey users can it in the Chocolatey Community Repository:

choco install septum --version=0.0.4

⚠️ The 0.0.4 version on Chocolatey has a crash (an internal assert) when trying to tab complete an empty string. This is fixed in 0.0.5, but a new version can't be published until 0.0.4 gets through Chocolatey moderation. This doesn't affect typical use and a new version published as soon as possible.

Contributing

Septum aims to help every developers everywhere. You're encouraged to recommend features, report bugs, or submit pull requests.

License

Septum is released under the Apache 2.0 License

About

Context-based code search tool

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

  • Ada 100.0%