Metadata-Version: 2.1
Name: bobros
Version: 0.2.0
Summary: A tool to set file and folder colours in Idea projects
Author: Timofey Danshin
Author-email: t.danshin@gmail.com
Requires-Python: >=3.6,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: PyYAML (>=5.3.1,<6.0.0)
Requires-Dist: click (>=7.1.2,<8.0.0)
Requires-Dist: colour (>=0.1.5,<0.2.0)
Requires-Dist: ruamel.yaml (>=0.16.12,<0.17.0)
Description-Content-Type: text/markdown

Bobros
======
_Making your life a bit more beautiful_

```shell
pip install bobros
bobros --help
```

`bobros` is a tool for setting the background colour for files in PyCharm project
navigator.

It was mainly created for working with Django projects where you can have lots
of app folders, all of which may contain files with identical names like `views`
or `models`, etc. It's much easier to work with them when you can easily 
tell them apart and can easily see where one app ends and another one begins in
your project navigation panel. Colour-coding the app folders makes that task a
lot easier.

However, it turned out that doing that using the standard PyCharm mechanisms is
not that easy. You have to navigate through several settings tabs and do a lot
of clicking and typing. Well, there must be a better way!

Bobros takes a simple config and generates the correct xml files to make your
project files colour-coded. It also supports different colour-themes. 

Sample config file (i.e. `my_config.yml`):
```yaml    
themes:
    dark: # defines colours for a theme named "dark", names can be arbitrary
        one: aabb00 # defines colour "one" to have the hex value of aabb00
        two: bbaa00 # defines colour "two"
    light: # defines colours for a theme named "light". Should contain the same colours as other themes
        one: 99ff88
        two: 9988ee

items: # defines colours for the items on disk
    my_file.py: one
    my_file_2.py: two
    my_folder: one
```

Some special values: 

* `~` The "home" folder: in Django projects the settings folder by default has 
  the same name as the project folder. It's nice to have the settings folder 
  the same colour in all your projects

* `Problems`, `Non-Project Files` special names used by Idea for files/folders
  containing errors or not belonging to the current project
  
To apply a theme in a config, run the following from the root folder of your
project:

```shell
bobros charm my_config.yml -t dark
```

You could also have a less fancy config, without themes:

```yaml    
colors:
    one: aabb00
    two: bbaa00

items:
    my_file.py: one
    my_file_2.py: two
    my_folder: one
```

To apply this config, run 

```shell
bobros charm my_config.yml
```

It is an error to try to apply a config with themes and not providing a theme
name on the command line (i.e. the `-t` option), to specify a non-existing 
theme or to use a config without themes and providing the `-t` option on the 
command line.

Generating colours
------------------
I like my files to have colours of the same saturation and luminance, but 
of different hues, so bobros has a command to generate such colours from a
given initial colour: 

```shell
bobros make-colors b1e3be --points 10
```

This will generate 10 such colours, you can then copy the values to your 
config file and assign them to your items.

Checking configs
----------------
You can run 
```shell
bobross check my_config.yml
```
from the root of a PyCharm (or Idea) project. For now, it will check if the 
config specifies files that do not exist in the actual project.

