Frage

Es gibt sogenannte strikte Formate, wie z pdb - wobei die Bedeutung des Symbols durch die Spaltennummer des Symbols definiert wird.Zum Beispiel Hier ist eine Spezifikation des oben genannten PDF-Formats.

Gibt es eine Möglichkeit, die Gesichtsfarbe basierend auf dem Spaltenbereich anzuwenden?

Normalerweise kann man einen regulären Ausdruck hinzufügen, der hervorgehoben werden soll, beispielsweise für die aktuelle Sitzung auf folgende Weise:

(font-lock-add-keywords nil '(("\\[\\(.+?\\)\\]" . font-lock-keyword-face)))

Gibt es also eine Möglichkeit, anzugeben, dass die Fläche an den Spalten, beispielsweise 7-11, beispielsweise rot sein soll?

Bearbeiten:

Die Antwort lautet also:

(font-lock-add-keywords nil '(("^.\\{2\\}\\(.\\{2\\}\\)" 1 font-lock-warning-face)))
War es hilfreich?

Lösung

Definieren Sie einen regulären Ausdruck, der die entsprechende Spalte auswählt.Um beispielsweise die dritte Spalte auszuwählen (aus Gründen der Klarheit des Beispiels wird davon ausgegangen, dass die Spalten nur Buchstaben enthalten), können Sie Folgendes tun: "\(?:[a-z]+ \)\{2\}\([a-z]+\)" und dann auf die erste Gruppe abstimmen.

Natürlich können Sie eine solche Zeichenfolge erstellen, indem Sie verwenden format und einige Argumente für mehr Flexibilität übergeben.

(font-lock-add-keywords nil '(("\\(?:[a-z]+ \\)\\{2\\}\\([a-z]+\\)" 1 font-lock-warning-face)))

Als andere Richtung wurde im Whitespace-Modus der folgende Code gefunden, der die Zeichen über einer bestimmten Anzahl hervorhebt:

;; Show "long" lines
(list
(let ((line-column (or whitespace-line-column fill-column)))
   (format
    "^\\([^\t\n]\\{%s\\}\\|[^\t\n]\\{0,%s\\}\t\\)\\{%d\\}%s\\(.+\\)$"
    whitespace-tab-width
    (1- whitespace-tab-width)
    (/ line-column whitespace-tab-width)
    (let ((rem (% line-column whitespace-tab-width)))
      (if (zerop rem)
      ""
    (format ".\\{%d\\}" rem)))))
 (if (memq 'lines whitespace-active-style)
     0              ; whole line
   2)               ; line tail
 whitespace-line t)

Andere Tipps

Die folgenden Anwälte, die zunächst an den Text von der 7. bis 11. Spalte an den Text ist: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top