All Projects → lpinilla → Vim Codepainter

lpinilla / Vim Codepainter

Licence: gpl-3.0
A plugin for Vim to color different parts of code making the use of Text Properties

Labels

Projects that are alternatives of or similar to Vim Codepainter

Ananas
An easy image editor integration for your Android apps.
Stars: ✭ 186 (+154.79%)
Mutual labels:  paint
Jspaint
🎨 Classic MS Paint, REVIVED + ✨Extras
Stars: ✭ 5,972 (+8080.82%)
Mutual labels:  paint
Minipaint
online image editor
Stars: ✭ 1,014 (+1289.04%)
Mutual labels:  paint
Flutter Canvas
About using of canvas in the flutter
Stars: ✭ 259 (+254.79%)
Mutual labels:  paint
React Sketch
Sketch Tool for React-based applications, backed up by FabricJS
Stars: ✭ 414 (+467.12%)
Mutual labels:  paint
Doodle
Image doodle for Android, with functions such as undo, zoom, move, text, image, etc. Also a powerful, customizable and extensible doodle framework & multi-function drawing board. Android图片涂鸦,具有撤消,缩放,移动,添加文字,贴图等功能。还是一个功能强大,可自定义和可扩展的涂鸦框架、多功能画板。
Stars: ✭ 809 (+1008.22%)
Mutual labels:  paint
jmonet
An easy-to-use toolkit for incorporating MacPaint / Microsoft Paint-like tools into a Java Swing or JavaFX application.
Stars: ✭ 27 (-63.01%)
Mutual labels:  paint
Drawingview
android上的一个涂鸦控件。可以设置画笔的粗细,颜色,撤销上一笔涂鸦,提供保存图片的接口。
Stars: ✭ 68 (-6.85%)
Mutual labels:  paint
Painterro
Painterro - JavaScript painting plugin
Stars: ✭ 496 (+579.45%)
Mutual labels:  paint
Milton
An infinite-canvas paint program
Stars: ✭ 960 (+1215.07%)
Mutual labels:  paint
Photodemon
A free portable photo editor focused on pro-grade features, high performance, and maximum usability.
Stars: ✭ 356 (+387.67%)
Mutual labels:  paint
Tui.image Editor
🍞🎨 Full-featured photo image editor using canvas. It is really easy, and it comes with great filters.
Stars: ✭ 4,761 (+6421.92%)
Mutual labels:  paint
Inkpainter
Texture-Paint on Unity.
Stars: ✭ 849 (+1063.01%)
Mutual labels:  paint
Photoeditor
A Photo Editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories.
Stars: ✭ 3,105 (+4153.42%)
Mutual labels:  paint
Literallycanvas
A canvas in your browser. Literally.
Stars: ✭ 1,043 (+1328.77%)
Mutual labels:  paint
gridder
A Grid based 2D Graphics library
Stars: ✭ 51 (-30.14%)
Mutual labels:  paint
Sprytile
A Blender add-on for building tile based low-poly scenes with paint/map editor like tools
Stars: ✭ 741 (+915.07%)
Mutual labels:  paint
Imgursniper
📷 A quick and easy Image, Screenshot and Screen recording sharing tool
Stars: ✭ 69 (-5.48%)
Mutual labels:  paint
Mopaint
🎨💪 Modern, modular paint and more! (pre-alpha, not much done yet)
Stars: ✭ 50 (-31.51%)
Mutual labels:  paint
Mspaintide
Programming in MS Paint
Stars: ✭ 909 (+1145.21%)
Mutual labels:  paint

vim-codepainter 🎨🖌

A plugin for Vim to color different parts of code making the use of text properties for vim (version >= 8.2) and nvim_buf_add_highlight function for nvim.

This plugin is made to manage the different "colors" that you can assign to the code. You can then save the marks and load them later!

Demo

Why

This project started because I felt the need of having an easy and straightforward way to highlight text in vim, mainly for code reviewing where I can paint different parts of code as I understand (or don't). Although after the first post on reddit, many people found many interesting ways of using it.

From simple note-taking to integration with testing frameworks to highlight failed tests or code coverage, feel free to use it to highlight anything!

How to use

Once installed (I highly recommend vim-plug), you need to set a color (or use default), select the area you want to "paint" and press F2 (default key-binding) to paint it. It works both for visual mode and visual block mode.

If you had something already painted, selecting and applying the same color will result on removing it. If you paint it with another color, it will replace it for the new one.

Changing between colors

There are 10 colors pre-defined on the plugin source (named "paint"). You can use any highlight group you want using :PainterChangeColor <number> for the default ones or :PainterChangeColorByName <name> to supply your own highlight group. The default group is "paint0".

Cleaning everything

If you want to remove every marker and every match rule, you should run the command :PainterEraseAll

Saving the Marks

Use the command :PainterSaveMarks <path> to create a json file with the marks. If no path is supplied, it will use the file's path and create a file with the same name.

Loading Marks from a file

The command :PainterLoadMarks <path> lets you load the marks saved previously. If a path is not supplied, it will use the current file path and try to load a json file with the same filename of the current file.

By default, the plugin will try to automatically load the marks of the current file if they exist. You can disable this feature by changing the flag g:auto_load_marks to 0 in the plugin source.

Navigation!

You can loop through all the paints using the default keybind F3.

Known Issues

There are some cases where it's hard to delete a paint unless you find the exact positions where you placed it using echom g:marks[<line_number>]. To avoid using this, there is a function called :PainterEraseLine <optional: line_number> which can delete all the marks on that line. If no argument for a line number is supplied, it will erase the current line.

Also, there are some cases in which the saved marks aren't loaded automatically when you open a file. In this cases, just using the command "PainterLoadMarks" will solve the issue.

Bugs

If you find a bug, feel free to open an issue about it!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].