Giter VIP home page Giter VIP logo

gomd's Introduction

gomd

Important: This tool is a prototype and not production ready! Use it play with it and send some feedback. Just open an issue at github for this.

  • A prototype of file browser for command line.

  • Main Motive:

    • To use tview and create something useful.
    • Get more people to contribute via hacktoberfest.

The logic of gomd is to have split file browsers. Not a new idea though (say for example, the midnight commander).

gomd screenshot

The navigation within the file browsers is slightly similar to vim. In order to make selection and move down you should use the key under your index finger.

At present the navigation logics are quite simple:

  • index-finger navigates down
    • f: navigates down to the left side
    • j: navigates down to the right side
  • middle-finger navigates up
    • d: navigates up to the left side
    • k: navigates up to the right side
  • ring-finger goes one folder up
    • s: one folder up left
    • l: one folder up right
  • the keys in the middle let you navigate inside a folder
    • g: for the left side
    • h: for the right side

For copying or other commands there is a command-mode. To activate that mode, just press :. To go back into normal mode use esc

At the moment there are following commands implemented:

  • copy, cp: copies the file from the left to the right side
  • move, mv: moves the file from the left to the right side
  • remove, rm: removes the file from the right side
  • mkdir [dirname], makedir [dirname]: creates that folder on the left side
  • q, quit: exits the app

Installation

This tool is written in Go. For a fast installation just run

go get github.com/as27/gomd/cmd/gomd

To update just type

go get -u github.com/as27/gomd/cmd/gomd

gomd's People

Contributors

ananichev avatar as27 avatar gracyashhh avatar ilmanzo avatar rajivnayanc avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gomd's Issues

Implement the copy (file) action

  • write a simple method, which can copy a file for gocmd.Files
  • add that event to the app

All changes should be inside the file cmd/gomd/commands.go

How to exit gomd?

Any idea on implementing an exit command for gomd?

I really like this project btw.

implement remove

The command should be

rm file
rm folder
remove file
remove folder

The selected element of the left side will be removed then.

Implement mkdir

The command should be:

mkdir new_folder
mkdir new folder

The new folder should be added at the left side.

implement switch sides

The base of every command is the left side of the browser. With sw or switch left and right folder is switched.

Documentation

All PRs for a better documentaion are welcome.

Better documentation of the code or a better reamde.

I am not so fluent in writing good English, so every doc element is welcome.

Create a help page/view

Implement a simple overview of all availiable commands. The simplest way to achieve this is to join the elements of implementedCommands and make an output by using the func (a *app) Println(i ...interface{})-method.

But there are other possibilities like modal or change the content of the windows. This is just a prototype and it is welcome to play around a little bit.

Create verbose mode for logs

The log area should be just shown, when gomd is started with the verbose mode.

  • Add flag -verbose
  • just show the log area, when verbose mode
  • ensure that logging without verbose mode does not block something

Implement different view modes

This is the start for some simple configuration of the app.

  • show/hide hidden files
  • sort by name
  • hide files
  • hide directories

We could implement a configuration view, when entering this mode.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.