Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 file

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page