AdaCore / AdaCore/gnatstudio

Innovative feature suggestion: Depth coloring for Ada 2012 code

Open
#7 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Ada
Stars
531
Forks
65
PR merge metrics
No merged PRs in 30d

Description

Dear GPS developers!
Please add depth coloring to Ada 2012 syntax highlighting in the 2017 release of GPS.

Depth coloring makes it easier to see the nested indenting structure of code, by making minor changes to the editor background color that highlight each level of nesting.

Please see how it looks for F# code:
Light theme, Microsoft Visual Studio 2015:
depthcolorizer
Dark theme:
depthcoloring
For referential use: The begin, end keywords and semicolons exist, but are non-mandatory in F# due to its indentation-aware syntax. In F#, whitespace - spaces and newlines - is significant. Indentation is used to indicate when statements and blocks of code are complete. Typically, a block of code is indented by four spaces, for readability purposes. The indented block of code in F# is an equivalent to a block of code inside the begin .. end keywords in Ada 2012 and F#.

Finally, I can tell you from my experience that coding with the depth colorizer is like changing an ancient Trabant for a modern Mercedes. It is a real pleasure to code with depth coloring. I believe the Ada 2012 language users would love this feature in the next release of GPS.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue requests depth coloring for Ada 2012 syntax highlighting in GPS and links to light and dark theme examples. No files, tests, or entry points are named; first review the existing editor syntax-highlighting and indentation behavior, then clarify the implementation scope and validation criteria with maintainers.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.