🌈 grepc 1.3.0: more features, more problems

Estimated Reading Time: 3 minutes

Well, well, well… if it’s not another release notes? Looks like I finally had enough changes to justify a release.

But wait, we were on the front page of VS Code Marketplace!

AND WE HIT 15,000 INSTALLS!

Thank you all for supporting this project :). I can’t express how grateful I am that so many people choose to use this extension.

So what’s new in this release?

New Features

Before and After attachments!

Edit / Import Mode!

Export Rules to JSON!

Debug Mode!

Look at that cute little checkbox. (No one is going to use this feature besides me…)

Metrics

I wanted to start publishing some of the metrics that are part of having a VS Code Extension as I find this to be quite intriguing. VS Marketplace provides developers with a small but interesting set of tools to see how their extension is being adopted.

As you can see in the graph above, we had a major boost in page views (the line) since being feature on the front page of the marketplace. Our acquisition has also significantly increased since that day with 200~ installs a day.

We did receive a rather unusual spike of 14k installs on one day in particular. I am not quite sure what caused this traffic (botting, extension pack, someone installing it across company). Regardless, it is a warm welcome.

Full Release Notes

Notes

  • With the advent of VSC 1.92+, to drag and drop between webviews you must hold shift.

Added

  • Introduced 3 new minimize commands: All, local, and global.
  • Added debug setting for showing rule states.
  • Introduce before and after decoration states with corresponding UX.
  • Introduced new webview actions:
    • Minimize all rules
    • Edit Mode. Raw editing of the rules.
    • Export rules to clipboard

Changed

  • Addressed bug where disabled rules would apply if editing document.
  • Fixed UX bug with occurrence drop down.
  • Fixed broken license badge in release notes view.

Removed

  • Removed all non-contextual commands from context. (i.e. Only create rule from selection appears on right click).and more. As always, see the full changelog below.

grepc – Release Notes v1.2.0

Estimated Reading Time: 3 minutes

Yesterday marked the release of version 1.2.0 for grepc.

This is the biggest update to come to the extension and features a lot of new content and performance improvements. This update includes overhauls of decoration systems resulting in huge performance improvements, multi-editor highlighting, in-line change support, drag-n-drop overhaul and support, and much more. I am very excited to announce this release as it amounts to 2 months of work since the last major release. I think in the future, I’ll push updates more often…

What is grepc? grepc is a free, open-source extension for VS Code that allows advanced highlighting via regular expressions and intuitive interfaces.

I highly recommend checking out the marketplace page if you are unfamiliar with the extension.

I made this extension for my own use and wanted to provide a polished and complete tool for others to use as well. I don’t expect any income from this project, and I will never monetize any aspect of it; I simply want to provide a tool that I have wanted for years in my own workflow to others in hopes it helps people with their day to day. And who doesn’t want more color in their editor?

Check out the new features below or click the link above to easily install. Interested in the GitHub? Click here. Feel free to report issues or contribute if you’re interested.

New Features

Multi-editor support!

Drag & drop to transfer between workspace rules and global rules

drag-transfer

Release Notes!

Walkthrough

Full Release Notes

Added

  • Decoration System Overhaul!
    • Multiple editor support introduced.
    • Significant performance improvements.
    • In-line changes update decorations.
    • Occurrence updates only occur when needed.
    • Context retention is enabled for webviews.
  • Drag n Drop rules from workspace to global and vice versa!
    • It was a struggle to get this working, including some crazy race conditions in TS (see the boolean lock in ruleFactory…)
    • In a later story, we can move this to be a proper mutex lock.
  • Introduced a release notes page that shows on any major or minor update. (Simply type grepc: Show Release Notes to see the update)
  • Introduced a walkthrough for grepc.
  • Added appropriate support for multi-line regex.
  • Added more badges to the README.
  • Introduced prettier and eslint for the codebase.
  • Improved unit tests.

Changed

  • Updated icon for marketplace and README to appropriate 128×128 and larger icon size.
  • Updated displayName to more accurately reflect what extension does.
  • Refactored previous drag n drop to use HTML drag and drop instead of mouse events. Obligatory
    • This took me… a lot of time.

Removed

  • getRulesArray() does not have side effects anymore 🙂

What’s Coming Next?

  • Support adding text before and after a match
  • More context options such as minimizing all rules
  • Support decorating captured groups (this will be a big feature)
  • Import and exporting of rules
  • Bug fixes and more community support

Shout out to @cheljur for their contributions to the project and manual testing.

Shout out to @daeh for reporting issues with the extension.

Interested in contributing? Reach out to @stneveadomi on GitHub and view the source code at the GitHub repository.

Want to help? Share the extension with your friends.

Providing tools for free: grepc

Estimated Reading Time: 2 minutes

Recently, I announced the public release of a new VS Code extension I created called grepc (grep + color).

I figured I would come on here and post about it along with some thoughts.

Grepc (grep + color) is a highly customizable regular expression highlighter for VS Code. This project marks the first official open source project I have released in a more professional setting (outside of mods and various side projects), and although it took a lot more work than I ever expected, I am quite proud of what it has become.

I think my first major realization going into this is the dedication and effort put out by open source creators. Open source is an amazing concept, and yet, I don’t think people realize the time and effort it goes into developing a project from scratch for free and provide it to others. If we take a look at my commit graph on Github, it tells a pretty interesting story.

In terms of days or work, this is quite a lot. But this was often a post work, 2 hour grind for many of these commits. But again, throughout April and May I was working pretty hard on this project. But perhaps this is a simple attention to detail issue.

The idea itself is pretty simple and has been overlapped in coverage from many other extensions. It seems to be that the “go-to” beginner project on VS Code is a text decorator, but no one seems to have piece together the idea of making it modular and customizable.

Everyone loves the “make a text that says blue be blue“, but no one has made a tool to customize it more.