algorithm-archivists / aaa-py

A Python implementation of Algorithm Archive's build system.
MIT License
11 stars 5 forks source link

syntax highlighting #27

Open Udarthegreat opened 2 years ago

Udarthegreat commented 2 years ago

As mentioned in the following issue on the main AAA repo syntax highlighting is rather important for various reasons and it would be nice if all langs had syntax highlighting in the repo. I am placing this here for two reasons. the first and more important is that if this is to become the generator for the main AAA repo then syntax highlighting would be generated by this so it applies; and secondly it still is an important feature so it would be nice to have anyways and I have been trying to link some of the old issue from the AAA into this repo that I think are important. it would also be cool if like with themes the settings for the different colors would be available to be set in the main repo through something like CSS vars or a YML file or something like that, example below. sorry that there are no tags on this I dont know how to add those and dont think I can. As a final note I will be posting the original AAA post below this I just want to keep it separate.

--num_color: rgba(28,31,43,1);
--var_color: rgba(45,49,67,1);
--text_color_default: rgba(255,255,255,1);
Udarthegreat commented 2 years ago

the post from the main AAA post:

Bug Report

Description

The issue is that syntax highlighting is either non existent or partially existent for many languages. This is not urgent in any way, it's more of a quality of life thing and an accessibility issue. It could be considered a accessibility issue because syntax highlighting makes it easier for individuals such as my self to read code, helping those that are Neurodivergent, or that have other similar issue. Also it is important to note that several languages already have full syntax highlighting and the fact that there is this difference can lead to an inconsistency between implementations because you can go from a language that has full to non when switching between languages in a single algorithm. The following are the languages that have no syntax highlighting:

Steps to Reproduce

Steps to reproduce the behavior:

  1. Go to Iterated Function Systems (for example but any chapter with code will work if it has the language in question)
  2. Click on the language change drop down
  3. Change language to one of the above mentioned ones
  4. Scroll down until a code block comes up
  5. You will see that it is not syntax highlighted

Expected behavior

Again I would not classify this so much as expected behaviors but more as something nice to see. It would be nice for various reasons (only some of which were mentioned above) to have all languages be syntax highlighted in code blocks. I would be willing to elaborate more on my personal reasons for preferring syntax highlighting below in a response .

Screenshots

I have put together some side by side images of syntax highlighting on AAA vs. in vs code (vs code since that is my personal preferred text editor and thus is what I have on hand to compare to, I'm sure you could find something similar in atom, sublime, vim or any other text editor, that is just my personal choice). As a note I installed some plugins for certain lang's such as the official Julia plugin for Julia. Also I could not find a single implementation that had all of the implementations I wanted to show so I used different algorithms for some.

  1. GNUPLOT (domain coloring)
vs code AAA
gluplot_vs-code gluplot_AAA
  1. Coconut (Barnsley fern)
vs code AAA
coconut_vs-code coconut_AAA

Environment

Additional context

There are also several languages that technically have syntax highlighting but to a significantly lesser degree then would be nice to have. Some languages have certain key words or numbers highlighted but not others. Below I have compiled a list of some of the languages that could benefit from better syntax highlighting, though it is not all that extensive just a quick example list:

In general I feel that the syntax highlighting could be better across across the board.

For Algorithm Archive Developers

Udarthegreat commented 2 years ago

As a note, the above repost of the main post on the AAA issue references some comments on that issue since I edited it a few times after original posting, I posting this comment here as a note for anyone in the future since as discussed in issue 22 it is ok if I keep them with the original framing in the repost.