Main /

Kate HTML Entities

Kate HTML Entities

Script zum Umwandeln von Umlauten in HTML-Entities im aktuellen Kate-Dokument

Der KDE-Texteditor kate bringt von Haus aus keine Möglichkeit mit, Umlaute in HTML-Entities umzuwandeln. Das folgende Skript durchsucht das aktuelle Dokument nach Umlauten und ersetzt sie durch die entsprechenden Entities. Kate muß dazu natürlich laufen. Wenn Kate nicht läuft, hagelt es Fehlermeldungen, dieses ist noch nicht abgefangen.

Das Skript ist noch fürchterlich langsam, man kann zusehen wie im Editorfenster die Umlaute verschwinden und die Entities erscheinen. Es liegt u.a. daran daß jedesmal das komplette Dokument von Anfang an durchsucht wird. Nicht besonders schlau, schon klar, aber es ist die erste Version, und soll ja noch Raum für Verbesserungen lassen winking smiley

#!/bin/bash

# Script zum Ändern aller deutschen Umlaute in HTML-Entities im aktuellen Dokument in kate
# leider ist es fürchterlich langsam.
# Stephan Elsner 2006

app="dcop kate"
docnum=`$app KateDocumentManager activeDocumentNumber`
doc="#$docnum"

# ------------------------------------------------------------------------------
# Suchen und Ersetzen aller Vorkommnisse eines Strings im aktuellen Kate-Dokument
function ReplaceAll() {
  while ((1));
  do
    SearchReplace
    if [ $result = "false" ]; then
      return
    fi
  done
}

# ------------------------------------------------------------------------------
# Suchen und Ersetzen in kate
# benötigt neben $app und $doc auch $search und $replace
function SearchReplace() {
  result=`$app SearchInterface$doc findFirstString $search 1`

  if [ $result = "true" ]; then
    matchline=`$app SearchInterface$doc currentMatchLine`
    matchcol=`$app SearchInterface$doc currentMatchCol`

    # Vorsicht, Bug in Kate: die übergabe unsinniger Parameter
    # bei removeText kann Kate zum Absturz bringen!
    dummy=`$app EditInterface$doc removeText $matchline $matchcol $matchline $((matchcol+1))`
    dummy=`$app EditInterface$doc insertText $matchline $matchcol $replace`
  fi
}


search="ä"
replace="ä"
ReplaceAll

search="ö"
replace="ö"
ReplaceAll

search="ü"
replace="ü"
ReplaceAll

search="Ä"
replace="Ä"
ReplaceAll

search="Ö"
replace="Ö"
ReplaceAll


search="Ü"
replace="Ü"
ReplaceAll

search="ß"
replace="ß"
ReplaceAll

exit

zurück zu Programmierung

Frische Änderungen | Menü editieren
zuletzt geändert am 31.10.2006 07:48 Uhr von Elsni
Edit Page | Page History