Skip to main content

lstree is for ls what pstree is for ps, and some more

Project description

lstree

https://img.shields.io/pypi/v/lstree.svg https://img.shields.io/travis/shreyas/lstree.svg Documentation Status

lstree is for ls what pstree is for ps, and some more …

The idea struck when I had just started using leiningen for creating a clojure project. I wanted a way to see what all files/folders/things are created when leiningen creates a project. So I wrote this tool. It helps you visually see the folder hierarchy, and allows you to do some basic filtering on the tree.

Features

  • Show a folder (or many, if specified) in tree structure

  • Show/hide hidden files

  • Ignore empty directories

  • Show (filter for) only certain files

  • Ignore certain files/folders

Installation

Use pip to install lstree:

pip install lstree

Basic Usage

lstree when used without any arguments, shows the current tree for $PWD:

tochukasui:hello-world$ lstree
|- ./
   |- doc/
      |- intro.md

   |- resources/
   |- src/
      |- hello_world/
         |- core.clj

   |- target/
      |- base+system+user+dev/
         |- classes/
            |- META-INF/
               |- maven/
                  |- hello-world/
                     |- hello-world/
                        |- pom.properties

         |- stale/
            |- leiningen.core.classpath.extract-native-dependencies

      |- classes/
         |- META-INF/
            |- maven/
               |- hello-world/
                  |- hello-world/
                     |- pom.properties

      |- stale/
         |- leiningen.core.classpath.extract-native-dependencies

      |- hello-world-0.1.0-SNAPSHOT.jar

   |- test/
      |- hello_world/
         |- core_test.clj

   |- CHANGELOG.md
   |- LICENSE
   |- project.clj
   |- README.md

Apparently this was a hello-world lein project after a lein build. Too much clutter. I don’t care of about anything inside the target folder anyway. Let’s cut it out:

tochukasui:hello-world$ lstree -i target
|- ./
   |- doc/
      |- intro.md

   |- resources/
   |- src/
      |- hello_world/
         |- core.clj

   |- test/
      |- hello_world/
         |- core_test.clj

   |- CHANGELOG.md
   |- LICENSE
   |- project.clj
   |- README.md

Much better. We ‘-i gnored’ the target folder. How about just focusing on the clojure source files?:

tochukasui:hello-world$ lstree -i target -f '*.clj'
|- ./
   |- doc/
   |- resources/
   |- src/
      |- hello_world/
         |- core.clj

   |- test/
      |- hello_world/
         |- core_test.clj

   |- project.clj

Nice. But what are those ‘doc’ and ‘resources’ folders doing there? They don’t have any clj files; why clutter the view?:

tochukasui:hello-world$ lstree -i target -f '*.clj' --ignore-empty
|- ./
   |- src/
      |- hello_world/
         |- core.clj

   |- test/
      |- hello_world/
         |- core_test.clj

   |- project.clj

Aha!

There are a few more useful tools lstree offers. For more info, check out the usage section of the documentation: https://lstree.readthedocs.io/en/latest/usage.html

History

0.1.0 (2016-05-01)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lstree-0.1.1.tar.gz (17.6 kB view details)

Uploaded Source

File details

Details for the file lstree-0.1.1.tar.gz.

File metadata

  • Download URL: lstree-0.1.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for lstree-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bec36372ac0c9713cb8b5c79981ea284adaad3fb4984b42c05aa6dc193119ec1
MD5 a93b87214751698da17096646915e16b
BLAKE2b-256 a3dd00c5505aa21c06e50df0836101c91bba5fa32951862876feba6a90a375a5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page