Skip to content

Feature request: show invisiable characters. #430

Open

Description

@leoleoasd

I'm writing an autograder for our data structure and algorithm course, and I'm using diff2html to tell how students their program's output differs with answers.

Some badly written programs output '\0's at the end of each line, and they aren't visible in the diff. Adding support for showing invisible characters (and an option to toggle it) just like Jetbrains IDEs would be nice.
image
image

Activity

  1. leoleoasd commented on Mar 31, 2022

    @leoleoasd
    Author

    A realy bad workaround:

    const content = content.split('\n')
    // my diff only have one file, so we extract file header by the first 3 lines
    const header = content.slice(0, 3).join('\n')
    // and extract inner diff
    let inner = content.slice(3).join('\n')
    for (let i = 0; i < 0x20; i += 1) {
      // append an unicode control picture after every invisiable character
      inner = inner.replaceAll(String.fromCharCode(i), String.fromCharCode(i + 0x2400) + String.fromCharCode(i))
    }
    console.log(header + '\n' + inner)

    image

    Would be nice the have the replacement happen in diff2html, because not all diffs only contain one file, and parsing them before send them into diff2html would be re-inventing the wheel.

  2. rtfpessoa commented on Apr 15, 2022

    @rtfpessoa
    Owner

    👋 Sounds like an interesting feature to have if you are interested in contributing it.

    It could be replace some special chars and it could be enabled by a configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions