From 68f3303f348aa4ac357c453828716a69675b7c6f Mon Sep 17 00:00:00 2001 From: Saurabh Daware Date: Thu, 12 Sep 2019 13:42:01 +0530 Subject: [PATCH] README and CHANGELOG ready for 1.2.0 --- CHANGELOG.md | 52 +++++++++++++++++- README.md | 152 +++++++++++++++++++++++++++------------------------ 2 files changed, 131 insertions(+), 73 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eedf62e..f13e2d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,60 @@ # Production Releases (Note: Only production releases will be mentioned here, If you want to see beta releases, you can find them [here](https://github.com/saurabhdaware/projectman/releases)) -## v1.1.0 [LATEST RELEASE] +### v1.2.0 *[LATEST RELEASE]* ```shell npm install -g projectman ``` +**Release Date:** 12th Sept, 2019 + +--- +- [Presenting ProjectMan Binaries](#presenting-projectman-binaries) +- [`cd` to directory without opening the project](#cd-to-directory-without-opening-the-project) +- [Added `--for-project` flag in `pm seteditor`](#added-for-project-flag-in-pm-seteditor) +- [`Other` option added in `pm seteditor`](#other-option-added-in-pm-seteditor) +- [New command `pm rmeditor`](#new-command-pm-rmeditor) +--- + +#### > Presenting ProjectMan binaries 🎉🦸 +Why should Node developers have all the fun? Now use ProjectMan without NodeJS or NPM installed. + +Download binaries and follow installation instructions given with them : +[![Download button for windows](https://img.shields.io/badge/for_windows-0099ff?style=for-the-badge&logo=windows)](https://apps.saurabhdaware.in/projectman#windows) [![Download button for Linux](https://img.shields.io/badge/for_linux-032f62?style=for-the-badge&logo=linux&logoColor=white)](https://apps.saurabhdaware.in/projectman/#linux-and-mac) [![Download button for MACOS](https://img.shields.io/badge/for_macos-111111?style=for-the-badge&logo=apple&logoColor=white)](https://apps.saurabhdaware.in/projectman/#linux-and-mac) + +#### > `cd` to directory without opening the project. +```shell +cd $(pm getpath) +``` +This will allow users to jump to a directory in command line without opening the project. + +**PR :** [#9](https://github.com/saurabhdaware/projectman/pull/9) (Thank You [@ZakariaTalhami](https://github.com/ZakariaTalhami)) +**Issue :** [#5](https://github.com/saurabhdaware/projectman/issues/5) (Thank you [@feitzi](https://github.com/feitzi)) + +#### > Added `--for-project` flag in `pm seteditor`: +```shell +pm seteditor --for-project +``` +This will allow users to set different editor for a specific project +E.g. Set Atom for `Project1` and have VSCode for other projects +**Isssue :** [#13](https://github.com/saurabhdaware/projectman/issues/13) +**PR :** [#16](https://github.com/saurabhdaware/projectman/pull/16) + +#### > `Other` option added in `pm seteditor` : +You can now select `other` option and type the editorCommand as an input rather than typing `pm seteditor [editorCommand]` + +#### > New command `pm rmeditor`: +```shell +pm rmeditor +``` +This will allow users to remove the project specific editors. +You can either `pm rmeditor` and choose the project to remove editor or `pm rmeditor --all` to remove all project specific editors. + +--- + +## v1.1.0 +```shell +npm install -g projectman@1.1.0 +``` - ***Project specific editors*** (Thanks [#4](https://github.com/saurabhdaware/projectman/issues/4) [@fechy](https://github.com/fechy) for issue) - Now you can `pm edit` and set `editor` key in `settings.json` projects[] with the value of the command of your editor. - `settings.json` E.g. diff --git a/README.md b/README.md index d9bed98..d74d995 100644 --- a/README.md +++ b/README.md @@ -2,93 +2,104 @@ ![](/images/logo-192.png) -[![projectman version](https://img.shields.io/npm/v/projectman.svg)](https://www.npmjs.org/package/projectman) [![projectman downloads](https://img.shields.io/npm/dt/projectman.svg)](http://npm-stat.com/charts.html?package=projectman) -[![contributions welcome to projectman](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/saurabhdaware/projectman/issues) [![projectman license MIT](https://img.shields.io/npm/l/projectman.svg)](https://github.com/saurabhdaware/projectman/blob/master/LICENSE) +[![projectman version](https://img.shields.io/npm/v/projectman?style=flat-square)](https://www.npmjs.org/package/projectman) [![projectman downloads](https://img.shields.io/npm/dt/projectman?label=npm%20downloads&style=flat-square)](http://npm-stat.com/charts.html?package=projectman) +[![contributions welcome to projectman](https://img.shields.io/badge/contributions-welcome-brightgreen?style=flat-square&logo=github)](https://github.com/saurabhdaware/projectman/issues) [![projectman license MIT](https://img.shields.io/npm/l/projectman?color=success&style=flat-square)](https://github.com/saurabhdaware/projectman/blob/master/LICENSE) [![https://nodei.co/npm/projectman.png?downloads=true&downloadRank=true&stars=true](https://nodei.co/npm/projectman.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/projectman) -ProjectMan is a project manager command line tool to easily save/open your favorite projects right from command line in your favorite text editor. -Are you lazy to 'cd Desktop/projects/react/coolsite' and then open the folder in your favorite text editor? Add your favorite projects using `pm add` and open them anytime you want using `pm open` +![]() +ProjectMan is a CLI which lets you add projects to favorites using command `pm add` and open them from anywhere you want using command `pm open`. + +Along with this there are also other commands like `pm seteditor`, `pm remove`, `cd $(pm getpath)` which we will see below. --- -## Installation +## # Installation + +#### ## Using NPM +If you have [NodeJS](https://nodejs.org) installed in your machine ```shell npm install -g projectman ``` +**OR** + +#### ## Download Binaries +[![Download button for windows](https://img.shields.io/badge/for_windows-0099ff?style=for-the-badge&logo=windows)](https://apps.saurabhdaware.in/projectman#windows) [![Download button for Linux](https://img.shields.io/badge/for_linux-032f62?style=for-the-badge&logo=linux&logoColor=white)](https://apps.saurabhdaware.in/projectman/#linux-and-mac) [![Download button for MACOS](https://img.shields.io/badge/for_macos-111111?style=for-the-badge&logo=apple&logoColor=white)](https://apps.saurabhdaware.in/projectman/#linux-and-mac) + + --- ![](images/terminal.png) --- -## Commands - +## # Commands `pm` is an alias of `projectman` so you can use `pm ` or `projectman ` -### Open Project +### ## Open Project +**Usage :** ```shell -pm open -``` -or you can simply +pm open [projectName] ``` -pm -``` -to open projects. +`[projectName]` is an optional parameter. + +**Alias:** `pm o`, `pm` -optionally you can also directly enter the name of your project as an argument -```shell -pm open myProject -``` -### Add project +### ## Add project ```shell cd /till/the/project pm add ``` -### Remove Project - -Just do `pm remove` and select the project from the list -or do `pm remove ` - - -### Set Editor +### ## Set Editor ```shell pm seteditor ``` -This will show you available options of text editors. You can select from them and get started! +Sets default editor to open projects from. -#### If your editor is not listed: +**Flag:** `--for-project` ```shell -pm seteditor [commandToOpen] +pm seteditor --for-project ``` -commandToOpen is the command you use to open your Editor/IDE from command line. E.g for VSCode we can use `code` to open folders in terminal so the command to set vscode will be `pm seteditor code` +Sets different editor for a specific project. +E.g You can use VSCode for other projects and Atom for `CoolProject1` -Read [commandsToOpen ref](#settings-ref) for more info. +If your TextEditor/IDE is not listed, You can select option `Other` from the list and give your `editorCommand`. +Read [editorCommand ref](#settings-ref) for more information. -#### If you want to open `Project2` in Atom but other projects in VSCode: -You can set `editor` key in [settings.json](settingsjson) with [commandToOpen](#settings-ref) value +### ## `cd` to a project without opening. +```shell +cd $(pm getpath [projectName]) +``` +`[projectName]` is an optional parameter. +**Alias :** `cd $(pm gp)` -**Read [example settings from 'pm edit'](#settingsjson)** +### ## Remove Project +```shell +pm remove +``` +Removes project from favorites. -### Get project path +### ## Remove editor ```shell -pm path +pm rmeditor ``` +Shows list of project and removes the project specific editor from the project. -optionally you can also specify the project name directly as an argument ```shell -pm path +pm rmeditor --all ``` +removes all project specific editors. --- ## Settings.json -type `pm edit` or `projectman edit` to open settings.json + +If you want to sort projects/change name of project/change path, You can type `pm edit` to open settings.json #### Example settings: @@ -118,7 +129,7 @@ This will show three projects in `pm open` and project2 will be opened in Atom a #### Settings Ref: **> commandToOpen** : -- This command will be used to open the file in your editor. +- This is your editor's command, this command will be used to open the file in your editor. - Default is `code` which opens in vscode. - This is the command that you normally use to open directories in your editor. @@ -145,49 +156,46 @@ This will show three projects in `pm open` and project2 will be opened in Atom a ## ChangeLogs -#### v1.1.0 *[LATEST RELEASE]* +### v1.2.0 *[LATEST RELEASE]* -- ***Project specific editors*** (Thanks [#4](https://github.com/saurabhdaware/projectman/issues/4) [@fechy](https://github.com/fechy) for issue) - - Now you can `pm edit` and set `editor` key in `settings.json` projects[] with the value of the command of your editor. - - `settings.json` E.g. -```js -{ - "commandToOpen": "code", - "projects": [ - { - "name":"MyCoolProject", - "path":"/home/path/projects/mycoolproject", - "editor":"vim" - }, - { - "name":"TwoProject", - "path":"/path/something/project" - } - ] -} +#### > `cd` to directory without opening the project. +```shell +cd $(pm getpath) ``` -This will allow users to open other projects in **VSCode** but use **Vim** to open `MyCoolProject` - +This will allow users to jump to a directory in command line without opening the project. +**PR :** [#9](https://github.com/saurabhdaware/projectman/pull/9) (Thank You [@ZakariaTalhami](https://github.com/ZakariaTalhami)) +**Issue :** [#5](https://github.com/saurabhdaware/projectman/issues/5) (Thank you [@feitzi](https://github.com/feitzi)) -- ***Projects will not be erased after updating furthur*** -(However they will still be erased while installing this update so I'll recommend to take copy of your settings.json If you have added multiple projects already) (Sorry but this is the last time when you'll have to do this :cry: )) -(Thank you [@codyaverett](https://github.com/codyaverett) and [@Tanuj69](https://github.com/Tanuj69) issue [#2](https://github.com/saurabhdaware/projectman/issues/2) and helping me out solving this) -- ***Added `vim` in `pm seteditor`*** -also added a message explaining 'How to set editors/IDE that are not listed in the menu' -- `pm` is now alias for `pm open` -(Thank you [@johannesjo](https://github.com/johannesjo) for suggestion) -- **`pm seteditor [commandToOpenEditor]` added** -This will set default editor command, This can be used when the editor you want to use is not listed in `pm seteditor`. (Note: `pm seteditor` will work exactly same as it did before) +#### > `--for-project` flag in `pm seteditor`: +```shell +pm seteditor --for-project +``` +This will allow users to set different editor for a specific project +E.g. Set Atom for `Project1` and have VSCode for other projects +**Isssue :** [#13](https://github.com/saurabhdaware/projectman/issues/13) +**PR :** [#16](https://github.com/saurabhdaware/projectman/pull/16) +#### > `Other` option added in `pm seteditor` : +You can now select `other` option and type the editorCommand as an input rather than typing `pm seteditor [editorCommand]` +#### > New command `pm rmeditor`: +```shell +pm rmeditor +``` +This will allow users to remove the project specific editors. +You can either `pm rmeditor` and choose the project to remove editor or `pm rmeditor --all` to remove all project specific editors. -***For More ChangeLog read [CHANGELOG.md](CHANGELOG.md)*** +**. +. +. +.** +***For More Changes read [CHANGELOG.md](CHANGELOG.md)*** --- ## Contributing to ProjectMan -[![contributions welcome to projectman](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/saurabhdaware/projectman/issues) +[![contributions welcome to projectman](https://img.shields.io/badge/contributions-welcome-brightgreen?style=flat-square&logo=github)](https://github.com/saurabhdaware/projectman/issues) I would be extremely happy to have people contribute to ProjectMan. You can read Contribution guidelines in **[CONTRIBUTING.md](CONTRIBUTING.md)**