Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • M mw
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 18
    • Issues 18
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • milliways
  • mw
  • Issues
  • #38
Closed
Open
Created Mar 28, 2019 by Alice Mitchell@aliceMaintainer

Extend chat colour codes system

Okay, so the old 8 colour ANSI scheme is too darn restrictive when it comes to colourising chat output, so time to extend it to at least support ANSI-256 https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit

Propose adding an encoding letter to the start of colour escape sequences, the letter will define which colour scheme is in use and exactly how many characters long it will be. It will thus always be safe to read at least one character after the escape ^[ character and determine length from that.

Proposed encodings:

  • [0-9] - two digit decimal number from system colour chart
  • [kKrRgGyYbBmMcCwWn-] - two character 8 colour scheme
  • x - followed by 2 hex digits of 256-colour foreground colour
  • X - followed by 4 hex digits of 256-colour fore & background colours

Possible future extra extensions

  • t - followed by 6 hex digits of TrueColor RGB foreground colour
  • T - followed by 12 hex digits of TrueColor RGB fore & background colours
Assignee
Assign to
Time tracking