Ça n’était pas drôle d’écrire des articles sur l’assembleur 6502 et de voir que les bouts de code était moches et que la syntaxe n’était pas bien mise en évidence (highlight).

En effet la gem Rouge, qui est utilisée par Jekyll pour le syntax highlighting ne prend pas en compte la syntaxe (parfois particulière) de l’assembleur Kick Assembler.

J’ai donc écrit un lexer pour cette gem :

Avant

.const COLOR = $a286
start:
  jsr init_screen
  lda $d01a // INTERRUPT_CONTROL
  ora #%00000001
  sta $d01a

init_screen: {
  ldx #0
  stx $d020 // border
  stx $d021 // background
  rts
}

Après

.const COLOR = $a286
start:
  jsr init_screen
  lda $d01a // INTERRUPT_CONTROL
  ora #%00000001
  sta $d01a

init_screen: {
  ldx #0
  stx $d020 // border
  stx $d021 // background
  rts
}

Pour l’instant j’utilise ma branche directement dans le Gemfile de Jekyll :

gem "rouge", git: 'git@github.com:lkdjiin/rouge.git', branch: 'kickass'

Il semblerait que ma PR soit sur le point d’être acceptée. Sinon j’en ferais sûrement un plugin.