...
 
Commits (56)
cmake_minimum_required(VERSION 2.8.9)
# Kate project
project (kate)
......
......@@ -7,6 +7,7 @@ X-KDE-Version=4.0
X-Kate-Version=2.9
X-Kate-Load=True
Name=Close Except/Like
Name[ar]=أغلق ما عدى/المشابه لِـ
Name[bs]=Zatvori Osim/Kao
Name[ca]=Tancament excepte/com
Name[ca@valencia]=Tancament excepte/com
......@@ -14,6 +15,7 @@ Name[cs]=Zavřít kromě/jako
Name[da]=Luk undtagen/lignende
Name[de]=Bedingtes Schließen
Name[el]=Κλείσιμο Except/Like
Name[en_GB]=Close Except/Like
Name[es]=Cerrar excepto/como
Name[et]=Selliste/teistsuguste sulgemine
Name[fi]=Sulje samanlaiset kuin / muut kuin
......@@ -22,7 +24,7 @@ Name[gl]=Pechar agás/como
Name[he]=סגור דומה/למעט
Name[hu]=Kivétel/Like bezárása
Name[ia]=Claude Excepte/Simile
Name[it]=Chiudi per gruppo
Name[it]=Chiudi escludendo/includendo
Name[kk]=Шарт бойынша жабу
Name[ko]=다음을 제외한/다음과 같은 것 닫기
Name[lt]=Uždaryti Išskyrus/Kaip
......@@ -47,6 +49,7 @@ Name[x-test]=xxClose Except/Likexx
Name[zh_CN]=关闭除/类似
Name[zh_TW]=關閉「例外/喜歡」
Comment=Close group of documents based on a common path or file extension
Comment[ar]=أغلق مجموعة من المستندات بناءً على مسار شائع أو امتداد الملف
Comment[bs]=Zatvori grupu dokumenara na bazi zajedniočke staye ili ekstenzije datoteke
Comment[ca]=Tanca un grup de documents basats en un camí comú o en l'extensió del fitxer
Comment[ca@valencia]=Tanca un grup de documents basats en un camí comú o en l'extensió del fitxer
......@@ -54,6 +57,7 @@ Comment[cs]=Zavřít skupinu dokumentů podle společné cesty nebo přípony
Comment[da]=Luk gruppe af dokumenter baseret på en fælles sti eller filendelse
Comment[de]=Eine Gruppe von Dokumenten auf der Basis eines gemeinsamen Pfades oder einer Dateierweiterung schließen
Comment[el]=Κλείσιμο ομάδας εγγράφων με βάση κοινή διαδρομή ή κατάληξη ονόματος αρχείου
Comment[en_GB]=Close group of documents based on a common path or file extension
Comment[es]=Cerrar un grupo de documentos según una ruta común o una extensión de archivo
Comment[et]=Rühma ühise asukoha või faililaiendiga dokumentide sulgemine
Comment[fi]=Sulje joukko tiedostoja niille yhteisen polun tai tiedostopäätteen perusteella
......
......@@ -4,7 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katefilebrowserplugin
X-Kate-Version=2.8
Name=File system browser
Name[ar]=متصفح نظام الملفات
Name[ar]=متصّفح نظام الملفات
Name[ast]=Restolador del sistema de ficheros
Name[bg]=Файлова система
Name[bs]=Pregledač datotečnog sistema
......
......@@ -61,6 +61,7 @@ Name[x-test]=xxFile Templatesxx
Name[zh_CN]=文件模板
Name[zh_TW]=檔案樣本
Comment=Create new files from templates
Comment[ar]=أنشئ ملفات جديدة من القوالب
Comment[ast]=Facer ficheros nuevos a partir de plantíes
Comment[bg]=Създаване на нови файлове от шаблони
Comment[bs]=Pravite nove datoteke prema šablonima
......
......@@ -59,6 +59,7 @@ Name[x-test]=xxGDBxx
Name[zh_CN]=GDB
Name[zh_TW]=GDB
Comment=Provides a simple GDB frontend
Comment[ar]=يوفّر سَنَد GDB بسيط
Comment[bg]=Предоставя прост интерфейс за GDB
Comment[bs]=Jednostavno pročelje za GDB
Comment[ca]=Proporciona un frontal GDB senzill
......
......@@ -170,6 +170,10 @@ void LocalsView::addStruct(QTreeWidgetItem *parent, const QString &vString)
// Value
start = end + 3;
end = start;
if (start < 0 || start > vString.size()) {
kDebug() << vString << start;
break;
}
if (vString[start] == '{') {
start++;
end++;
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katehelloworldplugin
X-Kate-Version=2.9
Name=Hello World Plugin
Name[ar]=ملحقة أهلًا يا عالم
Name[ast]=Complementu Hola mundu
Name[bg]=Приставка "Здравей свят!"
Name[bs]=Zdravo‑svijete priključak
......@@ -58,6 +59,7 @@ Name[x-test]=xxHello World Pluginxx
Name[zh_CN]=Hello World 插件
Name[zh_TW]=Hello World 外掛程式
Comment=Your short description about the plugin goes here
Comment[ar]=الوصف القصير لهذه الملحقة يكون هنا
Comment[ast]=Equí va una descripción curtia sobro'l so complementu
Comment[bg]=Кратко описание на приставката
Comment[bs]=Ovdje ide kratak opis priključka
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katebuildplugin
X-Kate-Version=2.9
Name=Build Plugin
Name[ar]=ملحقة بناء
Name[ast]=Complementu de construcción
Name[bg]=Приставка за построяване
Name[bs]=Priključak za gradnju
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katesqlplugin
X-Kate-Version=3.0
Name=SQL Plugin
Name[ar]=ملحقة SQL
Name[ast]=Complementu SQL
Name[bg]=Приставка за SQL
Name[bs]=Priključak za SQL
......@@ -60,6 +61,7 @@ Name[x-test]=xxSQL Pluginxx
Name[zh_CN]=SQL 插件
Name[zh_TW]=SQL 外掛程式
Comment=Execute query on SQL databases
Comment[ar]=نفّذ استعلام على قواعد بيانات SQL
Comment[bg]=Изпълняване на заявки към бази от данни на SQL
Comment[bs]=Izvršava upit nad SQL bazom
Comment[ca]=Executa consultes a bases de dades SQL
......
......@@ -59,6 +59,7 @@ Name[x-test]=xxJovie Text-to-Speechxx
Name[zh_CN]=Jovie 语音合成
Name[zh_TW]=Jovie 文字轉語音
Comment=Adds a menu entry for speaking the text
Comment[ar]=يضيف مُدخلة قائمة لنطق النصّ
Comment[ast]=Amestar una entrada al menú pa lleer el testu
Comment[bg]=Добавяне на запис в менюто за изговаряне на текст
Comment[bs]=Dodaje stavku menija za izgovaranje teksta
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katemailfilesplugin
X-Kate-Version=2.8
Name=Mail files
Name[ar]=إرسال الملفات بالبريد
Name[ast]=Ficheros de corréu
Name[bg]=Файлове по пощата
Name[bs]=Slanje e‑poštom
......@@ -60,6 +61,7 @@ Name[x-test]=xxMail filesxx
Name[zh_CN]=邮寄文件
Name[zh_TW]=郵件檔案
Comment=Send files via email
Comment[ar]=أرسل الملفات عبر البريد الإلكتروني
Comment[ast]=Unviar ficheros por e-mail
Comment[bg]=Изпращане на файлове по пощата
Comment[bs]=Šaljite datoteke e‑poštom
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=kateopenheaderplugin
X-Kate-Version=2.8
Name=Open Header
Name[ar]=افتح الترويسة
Name[ast]=Abrir cabecera
Name[bg]=Отваряне на header
Name[bs]=Otvaranje zaglavlja
......@@ -58,6 +59,7 @@ Name[x-test]=xxOpen Headerxx
Name[zh_CN]=打开头文件
Name[zh_TW]=開啟標頭
Comment=Opens the corresponding .h/[.cpp|.c] file
Comment[ar]=يفتح ملف ‎.h/[.cpp|.c] ‎ المناسب
Comment[ast]=Abre'l correspondiente ficheru .h/[.cpp|.c]
Comment[bg]=Отваряне на съответните файлове .h/[.cpp|.c]
Comment[bs]=Otvara pridruženu .h/[.cpp|.c] datoteku
......
......@@ -3,6 +3,7 @@ Type=ServiceType
X-KDE-ServiceType=Kate/PythonPlugin
X-KDE-Derived=
Comment=Kate Python Plugin
Comment[ar]=ملحقة ‌بيثون لِكيت
Comment[bs]=Kate priključak za Python
Comment[ca]=Connector Python del Kate
Comment[ca@valencia]=Connector Python del Kate
......@@ -10,6 +11,7 @@ Comment[cs]=Moduly Pythonu pro Kate
Comment[da]=Kate Python-plugin
Comment[de]=Python-Modul für Kate
Comment[el]=Πρόσθετο του Kate για την Python
Comment[en_GB]=Kate Python Plugin
Comment[es]=Complementos de Python para Kate
Comment[et]=Kate Pythoni plugin
Comment[fi]=Katen Python-liitännäinen
......@@ -18,7 +20,6 @@ Comment[gl]=Complementos de Python para Kate
Comment[he]=תוספי Python של Kate
Comment[hu]=Kate Python bővítmény
Comment[ia]=Plugins de Python pro Kate
Comment[it]=Estensione Python di Kate
Comment[kk]=Kate Python плагині
Comment[ko]=Kate 파이썬 플러그인
Comment[lt]=Kate Python priedas
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katepateplugin
X-Kate-Version=2.8
Name=Python Plugins
Name[ar]=ملحقات بيثون
Name[bg]=Приставки на Python
Name[bs]=Priključak za Python
Name[ca]=Connectors del Python
......@@ -12,6 +13,7 @@ Name[cs]=Moduly Pythonu
Name[da]=Python-plugins
Name[de]=Python-Module
Name[el]=Python πρόσθετα
Name[en_GB]=Python Plugins
Name[es]=Complementos de Python
Name[et]=Pythoni pluginad
Name[fi]=Python-liitännäiset
......@@ -58,6 +60,7 @@ Comment[cs]=Nástroj pro použití modulů Pythonu
Comment[da]=Pâté-vært for Python-plugins
Comment[de]=Pâté-Verwaltung von Python-Modulen
Comment[el]=Υπολογιστής Pâté για Python πρόσθετα
Comment[en_GB]=Pâté host for Python plugins
Comment[es]=Servidor Pâté para complementos de Python
Comment[et]=Pythoni pluginate Pâté keskkond
Comment[fi]=Paté-isäntä Python-liitännäisille
......
......@@ -33,6 +33,7 @@ from PyQt4.QtCore import QEvent, QObject, QUrl, Qt, pyqtSlot
from PyQt4.QtGui import (
QBrush
, QColor
, QDialog
, QPalette
, QSplitter
, QTabWidget
......@@ -82,9 +83,10 @@ def _get_1st_arg_if_add_subdirectory_cmd(document, line):
def _find_current_context(document, cursor):
'''Determinate current context under cursor'''
# Parse whole document starting from a very first line!
in_a_string = False
in_a_command = False
in_a_comment = False
in_string = False
in_command = False
in_comment = False
in_var = False
skip_next = False
nested_var_level = 0
command = None
......@@ -92,13 +94,13 @@ def _find_current_context(document, cursor):
for current_line in range(0, cursor.line() + 1):
line_str = document.line(current_line)
prev = None
in_a_comment = False
in_comment = False
should_count_pos = (current_line == cursor.line())
for pos, c in enumerate(line_str):
if should_count_pos and pos == cursor.column():
break
if c == '#' and not in_a_string:
in_a_comment = True
if c == '#' and not in_string:
in_comment = True
# TODO Syntax error if we r in a var expansion
break # Ignore everything till the end of line
if skip_next: # Should we skip current char?
......@@ -106,20 +108,24 @@ def _find_current_context(document, cursor):
elif c == '\\': # Found a backslash:
skip_next = True # skip next char!
elif c == '"': # Found a quote char
in_a_string = not in_a_string # Switch 'in a string' state
in_string = not in_string # Switch 'in a string' state
# TODO Syntax error if we r in a var expansion
elif c == '{' and prev == '$': # Looks like a variable expansion?
nested_var_level += 1 # Yep, incrase var level
in_var = True
elif c == '}': # End of a variable expansion
nested_var_level -= 1
elif c == '(' and not in_a_string: # Command params started
if in_var:
nested_var_level -= 1
if nested_var_level == 0:
in_var = False
elif c == '(' and not in_string: # Command params started
command = line_str[0:pos].strip()
# TODO Syntax error if we r in a var expansion
in_a_command = True
in_command = True
fn_params_start = KTextEditor.Cursor(current_line, pos + 1)
elif c == ')' and not in_a_string:
elif c == ')' and not in_string:
# TODO Syntax error if we r in a var expansion
in_a_command = False
in_command = False
command = None
fn_params_start = None
......@@ -131,7 +137,7 @@ def _find_current_context(document, cursor):
fn_params_range = KTextEditor.Range(fn_params_start, cursor)
else:
fn_params_range = KTextEditor.Range(-1, -1, -1, -1)
return (command, in_a_string, nested_var_level != 0, in_a_comment, fn_params_range)
return (command, in_string, in_var, in_comment, fn_params_range)
def _is_there_CMakeLists(path):
......@@ -173,17 +179,22 @@ def openDocument(url):
def _ask_for_CMakeLists_location_and_try_open(start_dir_to_show, cur_doc_dir):
selected_dir = KUrlRequesterDialog.getUrl(
url_requester = KUrlRequesterDialog(
start_dir_to_show
, kate.mainInterfaceWindow().window()
, i18nc('@title:window', '<filename>CMakeLists.txt</filename> location')
, kate.mainInterfaceWindow().window()
)
if url_requester.exec() == QDialog.Rejected:
return
selected_dir = url_requester.urlRequester().text()
kate.kDebug('CMakeHelper: selected_dir={}'.format(selected_dir))
if selected_dir.isEmpty():
return # User pressed 'Cancel'
if not selected_dir:
return # User has pressed 'Ok' on empty line
selected_dir = selected_dir.toLocalFile() # Get selected path
selected_dir = KUrl(selected_dir).toLocalFile() # Get selected path
# Is it relative?
if not os.path.isabs(selected_dir):
# Yep, join w/ a path of the current doc
......@@ -216,6 +227,7 @@ def openCMakeList():
# First of all check the document's MIME-type
document = kate.activeDocument()
cur_dir = os.path.dirname(document.url().toLocalFile())
kate.kDebug('CMakeHelper: cur_doc_dir="{}"'.format(cur_dir))
mimetype = document.mimeType()
if mimetype != _CMAKE_MIME_TYPE:
# Ok, current document is not a CMakeLists.txt, lets try to open
......@@ -234,8 +246,8 @@ def openCMakeList():
else:
# Ok, nothing selected. Lets check the context: are we inside a command?
cursor = view.cursorPosition()
command, in_a_string, in_a_var, in_a_comment, fn_params_range = _find_current_context(document, cursor)
kate.kDebug('CMakeHelper: command="{}", in_a_string={}, in_a_var={}'.format(command, in_a_string, in_a_var))
command, in_string, in_var, in_comment, fn_params_range = _find_current_context(document, cursor)
kate.kDebug('CMakeHelper: command="{}", in_string={}, in_var={}'.format(command, in_string, in_var))
selected_dir = cur_dir
if command == 'add_subdirectory':
# Check if the command have some parameters already entered
......@@ -322,19 +334,19 @@ class CMakeCompletionModel(AbstractCodeCompletionModel):
cursor = view.cursorPosition()
# Try to detect completion context
command, in_a_string, in_a_var, in_a_comment, fn_params_range = _find_current_context(document, cursor)
command, in_string, in_var, in_comment, fn_params_range = _find_current_context(document, cursor)
kate.kDebug(
'CMakeCC: command="{}", in_a_string={}, in_a_var={}, in_a_comment={}'.
format(command, in_a_string, in_a_var, in_a_comment)
'CMakeCC: command="{}", in_string={}, in_var={}, in_comment={}'.
format(command, in_string, in_var, in_comment)
)
if fn_params_range.isValid():
kate.kDebug('CMakeCC: params="{}"'.format(document.text(fn_params_range)))
if in_a_comment:
if in_comment:
# Nothing to complete if we r in a comment
return
if in_a_var:
if in_var:
# Try to complete a variable name
self.TITLE_AUTOCOMPLETION = i18nc('@label:listbox', 'CMake Variables Completion')
for var in cmake_help_parser.get_cmake_vars():
......@@ -346,7 +358,7 @@ class CMakeCompletionModel(AbstractCodeCompletionModel):
)
)
return
if in_a_string:
if in_string:
# If we a not in a variable expansion, but inside a string
# there is nothing to complete!
return
......
......@@ -10,6 +10,7 @@ Name[cs]=Nástroje CMake
Name[da]=CMake-værktøjer
Name[de]=CMake-Dienstprogramme
Name[el]=Εργαλεία του CMake
Name[en_GB]=CMake Utilities
Name[es]=Utilidades CMake
Name[et]=CMake'i tööriistad
Name[fi]=CMake-työkalut
......@@ -18,7 +19,6 @@ Name[gl]=Bloque
Name[he]=שירותיות CMake
Name[hu]=CMake segédprogramok
Name[ia]=Utilitates de CMake
Name[it]=Strumenti CMake
Name[kk]=CMake утилиталары
Name[ko]=CMake 유틸리티
Name[lt]=CMake pagalbininkai
......@@ -50,6 +50,7 @@ Comment[cs]=Doplňování kódu, mezipaměť a prohlížeč nápovědy
Comment[da]=Kodefuldførelse, browser til cache og hjælp
Comment[de]=Quelltext-Vervollständigung, Zwischenspeicher und Hilfe-Browser
Comment[el]=Εργαλείο συμπλήρωσης κώδικα, λανθάνουσα μνήμη και βοηθητικός περιηγητής
Comment[en_GB]=Code completer, cache and help browser
Comment[es]=Completador de código, caché y navegador de la ayuda
Comment[et]=Koodilõpetaja, puhver ja abibrauser
Comment[fi]=Koodintäydennys sekä välimuistin ja ohjeiden selain
......@@ -58,7 +59,6 @@ Comment[gl]=Varias accións para axudar na edición de código
Comment[he]=משלים קוד, מטמון ודפדפן עזרה
Comment[hu]=Kódkiegészítő, gyorsítótár és súgóböngésző
Comment[ia]=Completator de codice, cache e navigator de adjuta
Comment[it]=Completatore del codice, cache e navigatore della guida
Comment[kk]=Код толтырғышы, кэш пен көмек шолғышы
Comment[ko]=코드 자동 완성, 캐시 및 도움말 탐색기
Comment[nb]=Kodefullfører, mellomlager og hjelp-navigatør
......
......@@ -3,12 +3,15 @@ Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=color_tools
Name=Color Tools
Name[ar]=أدوات الألوان
Name[bs]=Alati boja
Name[ca]=Eines de color
Name[ca@valencia]=Eines de color
Name[cs]=Nástroje pro práci s barvami
Name[da]=Farveværktøjer
Name[de]=Farbenwerkzeuge
Name[el]=Εργαλεία χρωμάτων
Name[en_GB]=Colour Tools
Name[es]=Herramientas de color
Name[et]=Värvitööriistad
Name[fi]=Color Tools
......@@ -17,7 +20,6 @@ Name[gl]=Utilidades de cor
Name[he]=כלי צביעה
Name[hu]=Színeszközök
Name[ia]=Instrumentos de color
Name[it]=Strumenti di colore
Name[kk]=Түс құралдары
Name[ko]=색 도구
Name[lt]=Spalvos įrankiai
......@@ -42,6 +44,7 @@ Name[x-test]=xxColor Toolsxx
Name[zh_CN]=颜色工具
Name[zh_TW]=色彩工具
Comment=Utilities to work with hexadecimal colors in documents
Comment[ar]=أدوات للعمل مع الألوان ذات القيم الست عشرية في المستندات
Comment[bs]=Alati za rad s heksadekadnim bojama u dokumentima
Comment[ca]=Utilitats per treballar amb colors hexadecimals en documents
Comment[ca@valencia]=Utilitats per treballar amb colors hexadecimals en documents
......@@ -49,6 +52,7 @@ Comment[cs]=Nástroje pro práci s šestnáctkovými barvami v dokumentech
Comment[da]=Værktøjer til at arbejde med hexadecimale farver i dokumenter
Comment[de]=Hilfsmittel zum Umgang mit Hexadezimalwerten für Farben in Dokumenten
Comment[el]=Εργαλεία για εργασία με δεκαεξαδικά χρώματα σε έγγραφα
Comment[en_GB]=Utilities to work with hexadecimal colours in documents
Comment[es]=Utilidades para trabajar con colores en hexadecimal en los documentos
Comment[et]=Tööriistad kuueteistkümnendkoodis värvide kasutamiseks dokumentides
Comment[fi]=Työkaluja heksadesimaalisten värien kanssa työskentelyyn
......@@ -57,7 +61,6 @@ Comment[gl]=Utilidades para traballar con cores hexadecimais nos documentos
Comment[he]=שירותיות לעבודה עם צבעים הקסאדצימלים במסמכים
Comment[hu]=Segédprogramok a hexadecimális színekkel való munkához a dokumentumokban
Comment[ia]=Utilitates pro travaliar con colores hexadecimal in documentos
Comment[it]=Strumenti per lavorare con colori esadecimali nei documenti
Comment[kk]=Құжаттарда түстермен оналтылық түрде жұмыс істеу утилиталары
Comment[ko]=문서의 16진 색상을 다루기 위한 도구
Comment[lt]=Pagalbininkai darbui su šešioliktainėmis spalvomis dokumentuose
......
......@@ -9,6 +9,7 @@ Name[ca@valencia]=Expansions de text definides per l'usuari
Name[da]=Brugerdefinerede tekstudvidelser
Name[de]=Benutzerdefinierte Texterweiterungen
Name[el]=Επεκτάσεις κειμένου ορισμένες από το χρήστη
Name[en_GB]=User defined text expansions
Name[es]=Expansiones de texto definidas por el usuario
Name[et]=Kasutaja määratud tekstilaiendused
Name[fi]=Käyttäjän määrittämät tekstilaajennukset
......@@ -17,7 +18,6 @@ Name[gl]=Expansións de texto definidas polo usuario
Name[he]=הרחבות טקסט מגדרות על ידי המשתמש
Name[hu]=Felhasználó által meghatározott kiterjesztések
Name[ia]=Expansiones de texto definite per le usator
Name[it]=Espansioni del testo definite dall'utente
Name[kk]=Пайдаланушы анықтаған мәтін кеңейтулері
Name[ko]=사용자 정의 텍스트 확장
Name[nb]=Brukerdefinerte tekst-utvidelser
......@@ -46,6 +46,7 @@ Comment[ca@valencia]=Executa funcions d'expansió i inserció d'eixida en un doc
Comment[da]=Kør udvidelsesfunktion og indsæt output i et dokument
Comment[de]=Führt die Erweiterungsfunktion aus und fügt die Ausgabe in ein Dokument ein
Comment[el]=Εκτέλεση λειτουργίας επέκτασης και εισαγωγή της εξόδου σε έγγραφο
Comment[en_GB]=Execute expansion function and insert output into a document
Comment[es]=Ejecutar la función de expansión e insertar la salida en un documento
Comment[et]=Laiendusfunktsiooni käivitamine ja väljundi lisamine dokumenti
Comment[fi]=Suorita laajennusfunktio ja lisää tuloste tiedostoon
......@@ -54,7 +55,6 @@ Comment[gl]=Executa funcións de expansión e insire a saída nun documento
Comment[he]=הפעל פונקציית הרחבה והכנס את הפלט אל המסמך
Comment[hu]=Kiterjesztés függvény végrehajtása és a kimenet beszúrása a dokumentumba
Comment[ia]=Executa function de expansion e inserta exito in un documento
Comment[it]=Esegui la funzione di espansione e inserisci il risultato in un documento
Comment[kk]=Кеңейту функциясын орындап, шығысын құжатқа енгізу
Comment[ko]=확장 함수를 실행하고 문서에 실행 결과 추가
Comment[nb]=Kjør utvidelsesfunksjonen og sett inn utdata i et dokument
......
......@@ -10,6 +10,7 @@ Name[cs]=Modul GNU idutils
Name[da]=GNU idutils-plugin
Name[de]=„GNU Idutils“-Modul
Name[el]=Πρόσθετο GNU idutils
Name[en_GB]=GNU idutils plugin
Name[es]=Complemento GNU idutils
Name[et]=GNU idutilsi plugin
Name[fi]=GNU idutils -liitännäinen
......@@ -18,7 +19,6 @@ Name[gl]=Complemento das GNU idutils
Name[he]=תוסף GNU idutils
Name[hu]=GNU idutils bővítmény
Name[ia]=Plug-in de GNU idutils
Name[it]=Estensione GNU idutils
Name[kk]=GNU idutils плагині
Name[ko]=GNU idutils 플러그인
Name[lt]=GNU idutils priedas
......@@ -47,6 +47,7 @@ Comment[ca]=Examina els testimonis en un fitxer ID amb «idutils» de GNU
Comment[ca@valencia]=Examina els testimonis en un fitxer ID amb «idutils» de GNU
Comment[da]=Gennemse poletter i en GNU idutils id-fil
Comment[de]=Durchsuchen Sie die Token in einer ID-Datei von „GNU-Idutils“
Comment[en_GB]=Browse the tokens in a GNU idutils ID file
Comment[es]=Mostrar los identificadores en un archivo GNU idutils de ID
Comment[et]=GNU idutilsi ID-faili tähiste sirvimine
Comment[fi]=Selaa GNU idutils -ohjelman ID-tiedoston lausekkeita
......@@ -55,7 +56,6 @@ Comment[gl]=Examina os tokens dun ficheiro de identificadores de GNU idutils
Comment[he]=עיין בערכים של קובץ GNU idutils ID
Comment[hu]=Tokenek tallózása egy GNU idutils ID fájlban
Comment[ia]=Explora indicios in un file de GNU idutils ID
Comment[it]=Naviga le variabili in un file ID delle GNU idutils
Comment[kk]=GNU idutils ID файлдағы өрнектерді шолу
Comment[ko]=GNU idutils ID 파일의 토큰 탐색
Comment[nb]=Bla i symbolene i en GNU idutils ID-fl
......
......@@ -3,6 +3,7 @@ Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=js_utils
Name=JavaScript Utilities
Name[ar]=أدوات جافاسكرِبت
Name[bs]=JavaScript alati
Name[ca]=Utilitats JavaScript
Name[ca@valencia]=Utilitats JavaScript
......@@ -10,6 +11,7 @@ Name[cs]=Nástroje JavaScript
Name[da]=JavaScript-værktøjer
Name[de]=JavaScript-Dienstprogramme
Name[el]=Εργαλεία JavaScript
Name[en_GB]=JavaScript Utilities
Name[es]=Utilidades de JavaScript
Name[et]=JavaScripti tööriistad
Name[fi]=JavaScript-työkalut
......@@ -18,7 +20,6 @@ Name[gl]=Utilidades de CMake
Name[he]=שירותיות JavaScript
Name[hu]=JavaScript segédprogramok
Name[ia]=Utilitates de JavaScripts
Name[it]=Strumenti JavaScript
Name[kk]=JavaScript утилиталары
Name[ko]=자바스크립트 유틸리티
Name[lt]=JavaScript pagalbininkai
......@@ -49,6 +50,7 @@ Comment[ca@valencia]=Compleció automàtica de JS i jQuery, un retall «ready»
Comment[da]=JS- og jQuery autofuldførelse, en jQuery-forberedt tekststump, JSLint/JSHint
Comment[de]=Auto-Vervollständigung für JS und jQuery, jQuery-Textbaustein, jSLint/JSHint
Comment[el]=Αυτόματη συμπλήρωση JS και jQuery, ένα έτοιμο προς χρήση τμήμα κώδικα jQuery, JSLint/JSHint
Comment[en_GB]=JS and jQuery autocompletion, a jQuery ready snippet, JSLint/JSHint
Comment[es]=Completado automático de JS y jQuery, un fragmento de código de jQuery preparado, JSLint/JSHint
Comment[et]=JS ja jQuery automaatne lõpetamine, jQuery valmisoleku koodijupp, JSLint/JSHint
Comment[fi]=JS- ja jQuery-automaattitäydennys, jQuery ready -koodikatkelma, JSLint/JSHint
......@@ -56,7 +58,6 @@ Comment[fr]=Auto-complètement JS et jQuery, un fragment jQuery, JSLint/JSHint
Comment[gl]=Completador de código, caché e navegador de axuda
Comment[hu]=JS és jQuery automatikus kiegészítés, egy jQuery-kész töredék, JSLint/JSHint
Comment[ia]=Autocompletion de JS e jQuery, un fragmento preste de jQuery, JSLint/JSHint
Comment[it]=Autocompletamento JS e JQuery, un frammento di codice per JQuery, JSLint/JSHint
Comment[kk]=JS мен jQuery автотолықтыру, jQuery дайын үзіндісі, JSLint/JSHint
Comment[ko]=자바스크립트 및 jQuery 자동 완성, jQuery 읽기 스니펫, JSLint/JSHint
Comment[nb]=JS og jQuery autofullføring, en jQuery lese-bit, JSLint/JSHint
......
......@@ -9,6 +9,7 @@ Name[ca@valencia]=Bloc
Name[cs]=Blok
Name[da]=Blok
Name[de]=Block
Name[en_GB]=Block
Name[es]=Bloque
Name[et]=Plokk
Name[fi]=Block
......@@ -17,7 +18,6 @@ Name[gl]=Bloque
Name[he]=בלוק
Name[hu]=Blokk
Name[ia]=Bloco
Name[it]=Blocco
Name[kk]=Блок
Name[ko]=블록
Name[lt]=Blokas
......@@ -48,6 +48,7 @@ Comment[cs]=Různé činnosti pomáhající s úpravou kódu
Comment[da]=Diverse handlinger til at hjælpe med koderedigering
Comment[de]=Verschiedene Aktionen zur Hilfe bei dem Editieren von Quelltext
Comment[el]=Διάφορες ενέργειες για βοήθεια στην επεξεργασία κώδικα
Comment[en_GB]=Various actions to help code editing
Comment[es]=Diversas acciones para ayudar en la edición de código
Comment[et]=Mitmesugused toimingud koodi redigeerimise hõlbustamiseks
Comment[fi]=Toimintoja helpottamaan koodin muokkausta
......@@ -56,7 +57,6 @@ Comment[gl]=Varias accións para axudar coa edición de código
Comment[he]=פעולות שונות לעזרה בעת עריכת קוד
Comment[hu]=Különféle műveletek a kódszerkesztés segítéséhez
Comment[ia]=Varie actiones pro adjutar modifica de codice
Comment[it]=Azioni varie di supporto alla modifica del codice
Comment[kk]=Түрлі кодты өңдеу көмек әрекеттері
Comment[ko]=코드 편집을 돕는 다양한 동작
Comment[nb]=Ymse handlinger som hjelper til med koderedigering
......
......@@ -10,6 +10,7 @@ Name[cs]=Moduly pro práci s komentáři
Name[da]=Plugins til at arbejde med kommentarer
Name[de]=Module für die Bearbeitung von Kommentaren
Name[el]=Πρόσθετα για εργασία με σχόλια
Name[en_GB]=Plugins to work with comments
Name[es]=Complementos para trabajar con comentarios
Name[et]=Pluginad kommentaaride tarbeks
Name[fi]=Liitännäisiä kommenttien kanssa työskentelyyn
......@@ -18,7 +19,6 @@ Name[gl]=Complementos para traballar con comentarios
Name[he]=תוספים לעבודה עם הערות
Name[hu]=Bővítmény a megjegyzésekkel való munkához
Name[ia]=Plugins pro travaliar con commentos
Name[it]=Estensioni per lavorare con i commenti
Name[kk]=Түсініктемелермен жұмыс істеу плагиндары
Name[ko]=주석을 다루는 플러그인
Name[nb]=Tillegg for å arbeide med kommentarer
......@@ -49,6 +49,7 @@ Comment[cs]=Podporované jazyky jsou C++, JS, Python, CMake a Bash
Comment[da]=Understøttede sprog er C++, JS, Python, CMake, Bash
Comment[de]=Unterstützte Sprachen sind C++, JS, Python, CMake, Bash
Comment[el]=Υποστηριζόμενες γλώσσες είναι οι C++, JS, Python, CMake, Bash
Comment[en_GB]=Supported languages are C++, JS, Python, CMake, Bash
Comment[es]=Los lenguajes permitidos son C++, JS, Python, CMake y Bash
Comment[et]=Toetatud keeled on C++, JS, Python, CMake, Bash
Comment[fi]=Tuetut kielet ovat C++, JS, Python, CMake, Bash
......@@ -57,7 +58,6 @@ Comment[gl]=As linguaxes admitidas son C++, JS, Python, CMake e Bash
Comment[he]=השפות הנתמכות הן: C++‎, JS, Python, CMake ו־Bash
Comment[hu]=A támogatott nyelvek a C++, JS, Python, CMake, Bash
Comment[ia]=Linguages supportate es C++,JS,Python, CMake, Bash
Comment[it]=I linguaggi supportati sono C++, JS, Python, CMake, Bash
Comment[kk]=Қолдауы бар тілдер: C++, JS, Python, CMake, Bash
Comment[ko]=C++, 자바스크립트, 파이썬, CMake, Bash 지원
Comment[nb]=Språk som er støttet er C++, JS, Python, CMake, Bash
......
......@@ -9,6 +9,7 @@ Name[ca@valencia]=Formatador de codi com el C++ «boost»
Name[da]=Boost-like C++ kodeformatering
Name[de]=„C++“-Formatierer ähnlich wie Boost
Name[el]=Διαμορφωτής κώδικα C++ τύπου-Boost
Name[en_GB]=Boost-like C++ Code Formatter
Name[es]=Formateador de código C++ de tipo boost
Name[et]=Boosti moodi C++ koodi vormindaja
Name[fi]=Boostin kaltainen C++-koodin muotoilu
......@@ -17,7 +18,6 @@ Name[gl]=Formatador código C++ estilo Boost
Name[he]=מפרמט קוד בסגנון Boost עבור C++‎
Name[hu]=Lendület-szerű C++ kódformázó
Name[ia]=Formattator de Codice C++ como Boost
Name[it]=Formattatore in stile Boost del codice C++
Name[kk]=Boost-секілді C++ код пішімдеу
Name[ko]=Boost 형식 C++ 서식 도구
Name[nb]=Boost-liknende C++ kodeformatterer
......@@ -46,6 +46,7 @@ Comment[ca@valencia]=Ajuda a formatar les crides/plantilles en estil «boost»
Comment[da]=Hjælp til at formatere kald/skabeloner i boost-stil
Comment[de]=Hilfe zur Formatierung von Aufrufen / Vorlagen im Boost-Stil
Comment[el]=Βοήθεια στη μορφοποίηση κλήσεων/προτύπων σε στιλ boost
Comment[en_GB]=Help to format calls/templates in boost style
Comment[es]=Ayuda para formatear llamadas y plantillas en estilo boost
Comment[et]=Väljakutsete ja mallide vormindamine Boosti laadis
Comment[fi]=Auttaa muotoilemaan kutsut/templatet Boost-tyyliin
......@@ -54,7 +55,6 @@ Comment[gl]=Axuda a formatar as chamadas/modelos ao estilo de Boost
Comment[he]=עוזר לפרמט קריאות/תבניות בסגנון boost
Comment[hu]=Segítség a hívások/sablonok formázásához lendület stílusban
Comment[ia]=Adjuta a formar appellos/patronos in le stylo de boot
Comment[it]=Aiuta a formattare chiamate/modelli in stile Boost
Comment[kk]=Шақыру мен үлгілерді boost стилінде пішімдеуге көмек
Comment[ko]=Boost 스타일로 함수 호출/템플릿 사용
Comment[nb]=Hjelper til å formatere kall/maler i boost-stil
......
......@@ -10,6 +10,7 @@ Name[cs]=Automatické doplňování Pythonu
Name[da]=Python autofuldførelse
Name[de]=Python-Autovervollständigung
Name[el]=Αυτόματη συμπλήρωση Python
Name[en_GB]=Python Autocompletion
Name[es]=Terminación automática de Python
Name[et]=Pythoni automaatne lõpetamine
Name[fi]=Python-automaattitäydennys
......@@ -18,7 +19,6 @@ Name[gl]=Completado automático de Python
Name[he]=השלמה אוטומטית של Python
Name[hu]=Python automatikus kiegészítés
Name[ia]=Autocompletion de Python
Name[it]=Autocompletamento Python
Name[kk]=Python автотолықтыруы
Name[ko]=파이썬 자동 완성
Name[nb]=Python autofullføring
......@@ -49,6 +49,7 @@ Comment[cs]=Založen na knihovně Jedi
Comment[da]=Baseret på biblioteket Jedi
Comment[de]=Entwickelt aus der Jedi-Bibliothek
Comment[el]=Βασισμένο στη βιβλιοθήκη Jedi
Comment[en_GB]=Based on the Jedi library
Comment[es]=Basado en la biblioteca Jedi
Comment[et]=Loodud Jedi teegi põhjal
Comment[fi]=Perustuu Jedi-kirjastoon
......@@ -57,7 +58,6 @@ Comment[gl]=Baseado na biblioteca Jedi
Comment[he]=מבוססת על הספרייה Jedi
Comment[hu]=A Jedi könyvtáron alapulva
Comment[ia]=Basate sur le bibliotheca Jedi
Comment[it]=Basato sulla libreria Jedi
Comment[kk]=Jedi жиын файлды негіздеген
Comment[ko]=Jedi 라이브러리 기반
Comment[nb]=Basert på Jedi-biblioteket
......
......@@ -9,6 +9,7 @@ Name[ca@valencia]=Obertura/creació senzilla de fitxer
Name[da]=Nem åbning/oprettelse af filer
Name[de]=Einfacher Öffnen/Erstellen von Dateien
Name[el]=Εύκολο άνοιγμα/δημιουργία αρχείου
Name[en_GB]=Easy file open/create
Name[es]=Apertura y creación sencilla de archivos
Name[et]=Hõlpus failide avamine ja loomine
Name[fi]=Helppo tiedoston avaaminen/luonti
......@@ -17,7 +18,6 @@ Name[gl]=Abrir/Crear ficheiro doadamente
Name[he]=פתיחה או יצירה מהירה של קובץ
Name[hu]=Könnyű fájl megnyitás/létrehozás
Name[ia]=Aperir/crear file de modo facile
Name[it]=Apertura/Creazione semplificata file
Name[ko]=쉬운 파일 열기/생성
Name[nb]=Lett å åpne/lage fil
Name[nds]=Dateien eenfach opmaken/-stellen
......@@ -46,6 +46,7 @@ Comment[ca@valencia]=Intenta obrir el text seleccionat com un URI a un document
Comment[da]=Prøv at åbne markeret tekst som URI til et dokument
Comment[de]=Öffnen des ausgewählten Textes als URI zu einem Dokument
Comment[el]=Προσπάθεια για άνοιγμα του επιλεγμένου κειμένου σαν URI σε έγγραφο
Comment[en_GB]=Try to open selected text as URI to a document
Comment[es]=Intentar abrir el texto seleccionado como URI de un documento
Comment[et]=Valitud tekst püütakse avada dokumendile osutava URI-na
Comment[fi]=Yritä avata valittu teksti URI:na tiedostoon
......@@ -54,7 +55,6 @@ Comment[gl]=Tenta abrir o texto escollido como se fose a URI dun documento
Comment[he]=נסה לפתוח את הטקסט המסומן בתור כתובת אל מסמך
Comment[hu]=A kijelölt szöveg URI-ként történő megnyitásának kísérlete a dokumentumhoz
Comment[ia]=Essaya aperir texto seligite como URI pro un documento
Comment[it]=Prova ad aprire il testo selezionato come URI a un documento
Comment[ko]=선택한 텍스트를 문서를 가리키는 URI로 열기
Comment[nb]=Forsøk å åpne merket tekst som URI til et dokument
Comment[nds]=Utsöcht Text as URI för't Opmaken bruken
......
......@@ -3,6 +3,7 @@ Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=xml_pretty
Name=XML Tools
Name[ar]=أدوات XML
Name[bs]=XML alati
Name[ca]=Eines XML
Name[ca@valencia]=Eines XML
......@@ -10,6 +11,7 @@ Name[cs]=Nástroje XML
Name[da]=XML-værktøjer
Name[de]=XML-Werkzeuge
Name[el]=Εργαλεία XML
Name[en_GB]=XML Tools
Name[es]=Herramientas XML
Name[et]=XML-tööriistad
Name[fi]=XML-työkalut
......@@ -18,7 +20,6 @@ Name[gl]=Utilidades XML
Name[he]=כלי XML
Name[hu]=XML-eszközök
Name[ia]=Instrumentos de XML
Name[it]=Strumenti XML
Name[kk]=XML құралдары
Name[ko]=XML 도구
Name[nb]=XML-verktøy
......@@ -42,12 +43,14 @@ Name[x-test]=xxXML Toolsxx
Name[zh_CN]=XML 工具
Name[zh_TW]=XML 工具
Comment=XML Pretty print
Comment[ar]=طباعة أنيقة لـ XML
Comment[bs]=XML lijepi ispis
Comment[ca]=Impressió d'XML endreçat
Comment[ca@valencia]=Impressió d'XML endreçat
Comment[da]=XML pretty print
Comment[de]=XML-Quelltextformatierung
Comment[el]=Κομψή αποτύπωση XML
Comment[en_GB]=XML Pretty print
Comment[es]=Impresión elegante de XML
Comment[et]=XML-i ilutrükk
Comment[fi]=XML Pretty print
......@@ -56,7 +59,6 @@ Comment[gl]=Versión para ler XML
Comment[he]=הדפסה יפה של XML
Comment[hu]=XML formázott nyomtatás
Comment[ia]=Imprime como XML pretty
Comment[it]=Stampa XML elegante
Comment[kk]=XML безендіруі
Comment[ko]=예쁜 XML 인쇄
Comment[nb]=XML pen utskrift
......
......@@ -10,6 +10,7 @@ Name[cs]=Automatické doplňování Pythonu
Name[da]=Python autofuldførelse
Name[de]=Python-Autovervollständigung
Name[el]=Αυτόματη συμπλήρωση Python
Name[en_GB]=Python Autocompletion
Name[es]=Terminación automática de Python
Name[et]=Pythoni automaatne lõpetamine
Name[fi]=Python-automaattitäydennys
......@@ -18,7 +19,6 @@ Name[gl]=Completado automático de Python
Name[he]=השלמה אוטומטית של Python
Name[hu]=Python automatikus kiegészítés
Name[ia]=Autocompletion de Python
Name[it]=Autocompletamento Python
Name[kk]=Python автотолықтыруы
Name[ko]=파이썬 자동 완성
Name[nb]=Python autofullføring
......@@ -42,6 +42,7 @@ Name[x-test]=xxPython Autocompletionxx
Name[zh_CN]=Python 自动补全
Name[zh_TW]=Python 自動補完
Comment=Beta, only for Python 2
Comment[ar]=بيتا، فقط لبيثون 2
Comment[bs]=Beta, samo za Python 2
Comment[ca]=Beta, només pel Python 2
Comment[ca@valencia]=Beta, només pel Python 2
......@@ -49,6 +50,7 @@ Comment[cs]=Beta, pouze pro Python 2
Comment[da]=Beta, kun til Python 2
Comment[de]=Beta, nur für Python 2
Comment[el]=Δοκιμαστική έκδοση, μόνο για Python 2
Comment[en_GB]=Beta, only for Python 2
Comment[es]=Beta, solo para Python 2
Comment[et]=Beeta, ainult Python 2 jaoks
Comment[fi]=Beeta, vain Python 2:lle
......@@ -57,7 +59,6 @@ Comment[gl]=Beta, só para Python 2
Comment[he]=ביטא, רק עבור Python 2
Comment[hu]=Béta, csak Python 2-höz
Comment[ia]=Beta, solmente pro Python 2
Comment[it]=Beta, solo per Python 2
Comment[kk]=Бета сынақ нұсқасы, тек Python 2 үшін
Comment[ko]=베타, 파이썬 2에서만 작동
Comment[nb]=Beta, bare for Python 2
......
......@@ -3,6 +3,7 @@ Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=python_console_classic
Name=Simple Python Console
Name[ar]=مِعراض بيثون بسيط
Name[bs]=Prosta Python konzola
Name[ca]=Consola senzilla del Python
Name[ca@valencia]=Consola senzilla del Python
......@@ -10,6 +11,7 @@ Name[cs]=Jednoduchá konzole Pythonu
Name[da]=Simpel Python-konsol
Name[de]=Einfache Python-Konsole
Name[el]=Απλή κονσόλα Python
Name[en_GB]=Simple Python Console
Name[es]=Consola de Python sencilla
Name[et]=Lihtne Pythoni konsool
Name[fi]=Yksinkertainen Python-konsoli
......@@ -18,7 +20,6 @@ Name[gl]=Consola simple de Python
Name[he]=מסוף Python פשוט
Name[hu]=Egyszerű Python konzol
Name[ia]=Simple consolle de Python
Name[it]=Semplice console Python
Name[kk]=Қарапайым Python консолі
Name[ko]=간단한 파이썬 콘솔
Name[nb]=Enkelt Python-konsoll
......@@ -48,6 +49,7 @@ Comment[ca@valencia]=Consola interactiva per inspeccionar l'estat intern del Kat
Comment[da]=Interaktiv konsol til at inspicere Kate indvendigt og se sig omkring
Comment[de]=interaktive Konsole für die Untersuchung der Internas von Kate
Comment[el]=Διαδραστική κονσόλα για εξερεύνηση στο εσωτερικό του Kate και παιχνίδι
Comment[en_GB]=Interactive console for inspecting Kate's internals and playing about
Comment[es]=Consola interactiva para inspeccionar las interioridades de Kate y jugar con ellas
Comment[et]=Interaktiivne konsool Kate loodu uurimiseks ja redigeerimiseks
Comment[fi]=Interaktiivinen konsoli Katen sisusten tutkimiseen ja leikkimiseen
......@@ -56,7 +58,6 @@ Comment[gl]=Unha consola interactiva para inspeccionar e modificar o interior de
Comment[he]=מסוף אינטראקטיבי לעיון בקרביים של Kate ומשחקים בקוד
Comment[hu]=Interaktív konzol a Kate belső részeinek vizsgálatához és játék azokkal
Comment[ia]=Consolle interactive pro inspectionar elementos interne de Kate e jocar con illos
Comment[it]=Console interattiva per l'ispezione delle funzioni interne di Kate e per il loro utilizzo
Comment[kk]=Kate-тің ішкі құрылысын қарап айналасу үшін интерактивті консолі
Comment[ko]=Kate의 내부 구조를 탐색할 수 있는 대화형 콘솔
Comment[nb]=Interaktivt konsoll for å kikke på Kates involler og romstere omkring
......
......@@ -3,6 +3,7 @@ Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=python_console_ipython
Name=IPython Console
Name[ar]=مِعراض آي‌بيثون (IPython)
Name[bs]=IPython konzola
Name[ca]=Consola de l'IPython
Name[ca@valencia]=Consola de l'IPython
......@@ -10,6 +11,7 @@ Name[cs]=Konzole IPythonu
Name[da]=IPython-konsol
Name[de]=IPython-Konsole
Name[el]=Κονσόλα IPython
Name[en_GB]=IPython Console
Name[es]=Consola de IPython
Name[et]=IPythoni konsool
Name[fi]=IPython-konsoli
......@@ -18,7 +20,6 @@ Name[gl]=Consola de IPython
Name[he]=מסוף IPython
Name[hu]=IPython konzol
Name[ia]=Consolle de IPython
Name[it]=Console IPython
Name[kk]=IPython консолі
Name[ko]=IPython 콘솔
Name[lt]=IPython konsolė
......@@ -48,6 +49,7 @@ Comment[ca]=Consola interactiva per a hackejar el Kate i fer ciència
Comment[ca@valencia]=Consola interactiva per a hackejar el Kate i fer ciència
Comment[da]=Interaktiv konsol til at hacke kate og bedrive videnskab
Comment[de]=interaktive Konsole für das Hacken von Kate und wissenschaftliches Arbeiten
Comment[en_GB]=Interactive console for hacking kate and doing science
Comment[es]=Consola interactiva para hacerse con el control de Kate y hacer ciencia
Comment[et]=Interaktiivne konsool Kate häkkimiseks ja teaduse tegemiseks
Comment[fi]=Interaktiivinen konsoli Katen kehittämiseen ja tieteen tekemiseen
......@@ -56,7 +58,6 @@ Comment[gl]=Unha consola interactiva para hackear con kate e investigar
Comment[he]=מסוף אינטראקטיבי לעשות ניסיים ב־Kate ולמען המדע
Comment[hu]=Interaktív konzol a kate hackeléséhez és tudomány elvégzéséhez
Comment[ia]=Consolle interactive pro facer hacking con kate e facer scientia
Comment[it]=Console interattiva per modificare Kate e poterlo studiare
Comment[kk]=Kate-ті зерттеуге арналған интерактивті консоль
Comment[ko]=Kate를 알아보고 작업을 수행하는 대화형 콘솔
Comment[nb]=Interaktivt konsoll for å hacke Kate og gjøre forskning
......
......@@ -3,6 +3,7 @@ Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=python_utils
Name=Python Utilities
Name[ar]=أدوات بيثون
Name[bs]=Python alati
Name[ca]=Utilitats del Python
Name[ca@valencia]=Utilitats del Python
......@@ -10,6 +11,7 @@ Name[cs]=Nástroje Pythonu
Name[da]=Python-værktøjer
Name[de]=Python-Werkzeuge
Name[el]=Εργαλεία Python
Name[en_GB]=Python Utilities
Name[es]=Utilidades de Python
Name[et]=Pythoni tööriistad
Name[fi]=Python-työkalut
......@@ -18,7 +20,6 @@ Name[gl]=Utilidades de Python
Name[he]=שירותיות Python
Name[hu]=Python segédprogramok
Name[ia]=Utilitates de Python
Name[it]=Strumenti Python
Name[kk]=Python утилиталары
Name[ko]=파이썬 유틸리티
Name[lt]=Python pagalbininkai
......@@ -49,14 +50,14 @@ Comment[ca@valencia]=Verificador d'anàlisi, verificador PEP8, verificador Pyfla
Comment[da]=Fortolkningstjekker, PEP8-tjekker, Pyflakes-tjekker, Tekststumper
Comment[de]=Python-Werkzeuge: Parse-Überprüfung, PEP8-Überprüfung, Pyflakes-Überprüfung, Textbausteine
Comment[el]=Ελεγκτής ανάλυσης, ελεγκτής PEP8, ελεγκτής Pyflakes, αποσπάσματα κώδικα
Comment[en_GB]=Parse Checker, PEP8 Checker, Pyflakes Checker, Snippets
Comment[es]=Comprobación de análisis sintáctico, comprobador de PEP8, comprobador de Pyflakes, fragmentos de código
Comment[et]=Parsimiskontroll, PEP-ide kontroll, Pyflakesi kontroll, koodijupid
Comment[et]=Parsimiskontroll, PEP8 kontroll, Pyflakesi kontroll, koodijupid
Comment[fi]=Jäsennystarkistin, PEP8-tarkistin, Pyflakes-tarkistin, koodikatkelmia
Comment[fr]=Vérificateur d'analyse, vérificateur PEP8, vérificateur Pyflakes, fragments
Comment[gl]=Análise sintáctica, comprobacións PEP8, Pyflakes e Snippets
Comment[hu]=Feldolgozás ellenőrző, PEP8 ellenőrző, Pyflakes ellenőrző, kódtöredékek
Comment[ia]=Verificator syntactic, verificator PEP8, verificator Pyflakes, fragmentos
Comment[it]=Controllo di sintassi, controllo PEP8, controllo Pyflakes, frammenti di codice
Comment[kk]=Талдауды тексеру, PEP8 тексеру, Pyflakes тексеру, Үзінділер
Comment[ko]=파싱 확인, PEP8 확인, Pyflakes 확인, 스니펫
Comment[nb]=Tolker-sjekker, PEP8-sjekker, Pyflakes-sjekker, Tekstbiter
......
......@@ -33,7 +33,7 @@ set(kateprojectplugin_PART_SRCS
kde4_add_plugin(kateprojectplugin ${kateprojectplugin_PART_SRCS})
# Ubuntu 12.10 needs the lower-case qjson
target_link_libraries(kateprojectplugin ${KDE4_KDEUI_LIBS} ${QJSON_LIBRARIES} ${qjson_LIBRARIES} kateinterfaces ktexteditor)
target_link_libraries(kateprojectplugin ${KDE4_KDEUI_LIBS} ${QJSON_LIBRARIES} ${qjson_LIBRARIES} kateinterfaces ${KDE4_KTEXTEDITOR_LIBS})
########### install files ###############
install(TARGETS kateprojectplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
......
......@@ -35,6 +35,7 @@ KateProject::KateProject ()
: QObject ()
, m_worker (new KateProjectWorker (this))
, m_thread (m_worker)
, m_fileLastModified()
, m_notesDocument (0)
, m_documentsParent (0)
{
......@@ -96,10 +97,12 @@ bool KateProject::reload (bool force)
/**
* open the file for reading, bail out on error!
*/
m_fileLastModified = QDateTime();
QFile file (m_fileName);
if (!file.open (QFile::ReadOnly))
return false;
m_fileLastModified = QFileInfo(m_fileName).lastModified();
/**
* parse the whole file, bail out again on error!
*/
......
......@@ -21,6 +21,7 @@
#ifndef KATE_PROJECT_H
#define KATE_PROJECT_H
#include <QDateTime>
#include <QThread>
#include <QMap>
#include <QSharedPointer>
......@@ -135,6 +136,13 @@ class KateProject : public QObject
return m_baseDir;
}
/**
* Return the time when the project file has been modified last.
* @return QFileInfo::lastModified()
*/
QDateTime fileLastModified() const { return m_fileLastModified; }
/**
* Accessor to project map containing the whole project info.
* @return project info
......@@ -279,6 +287,8 @@ class KateProject : public QObject
*/
KateProjectWorkerThread m_thread;
QDateTime m_fileLastModified;
/**
* project file name
*/
......
......@@ -253,7 +253,10 @@ void KateProjectPlugin::slotDirectoryChanged (const QString &path)
QString fileName = path + QString("/.kateproject");
foreach (KateProject *project, m_projects) {
if (project->fileName() == fileName) {
project->reload();
QDateTime lastModified = QFileInfo(fileName).lastModified();
if (project->fileLastModified().isNull() || (lastModified > project->fileLastModified())) {
project->reload();
}
break;
}
}
......
......@@ -5,6 +5,7 @@ X-KDE-Library=kateprojectplugin
X-Kate-Version=2.9
X-Kate-Load=True
Name=Project Plugin
Name[ar]=ملحقة المشاريع
Name[bg]=Приставка за проекти
Name[bs]=Priključak projekta
Name[ca]=Connector de projecte
......@@ -13,6 +14,7 @@ Name[cs]=Modul projektu
Name[da]=Projekt-plugin
Name[de]=Projektmodul
Name[el]=Project πρόσθετο
Name[en_GB]=Project Plugin
Name[es]=Complemento de proyecto
Name[et]=Projektiplugin
Name[fi]=Projektiliitännäinen
......@@ -51,6 +53,7 @@ Name[x-test]=xxProject Pluginxx
Name[zh_CN]=工程插件
Name[zh_TW]=專案外掛程式
Comment=Project plugin for Kate
Comment[ar]=ملحقة مشاريع لِكيت
Comment[bg]=Приставка за проекти в Kate
Comment[bs]=Priključak projekta za Kate
Comment[ca]=Connector de projecte pel Kate
......@@ -59,6 +62,7 @@ Comment[cs]=Modul projektů pro Kate
Comment[da]=Projekt-plugin til Kate
Comment[de]=Projektmodul für Kate
Comment[el]=Project πρόσθετο για το Kate
Comment[en_GB]=Project plugin for Kate
Comment[es]=Complemento de proyectos para Kate
Comment[et]=Kate projektiplugin
Comment[fi]=Projektiliitännäinen Kateen
......
......@@ -10,6 +10,7 @@ Name[ca@valencia]=Replicode
Name[da]=Replicode
Name[de]=Replicode
Name[el]=Replicode
Name[en_GB]=Replicode
Name[es]=Replicode
Name[et]=Replicode
Name[fi]=Replicode
......@@ -17,7 +18,6 @@ Name[fr]=Replicode
Name[gl]=Replicode
Name[hu]=Replicode
Name[ia]=Replicode
Name[it]=Replicode
Name[ko]=Replicode
Name[nb]=Replicode
Name[nds]=Replicode
......@@ -26,6 +26,7 @@ Name[pl]=Replicode
Name[pt]=Replicode
Name[pt_BR]=Replicode
Name[ro]=Replicode
Name[ru]=Replicode
Name[sk]=Replikovať
Name[sl]=Replicode
Name[sr]=Репликод
......@@ -43,6 +44,7 @@ Comment[ca@valencia]=Replicode
Comment[da]=Replicode
Comment[de]=Replicode
Comment[el]=Replicode
Comment[en_GB]=Replicode
Comment[es]=Replicode
Comment[et]=Replicode
Comment[fi]=Replicode
......@@ -50,7 +52,6 @@ Comment[fr]=Replicode
Comment[gl]=Replicode
Comment[hu]=Replicode
Comment[ia]=Replicode
Comment[it]=Replicode
Comment[ko]=Replicode
Comment[nb]=Replicode
Comment[nds]=Replicode
......@@ -59,6 +60,7 @@ Comment[pl]=Replicode
Comment[pt]=Replicode
Comment[pt_BR]=Replicode
Comment[ro]=Replicode
Comment[ru]=Replicode
Comment[sk]=Replikovať
Comment[sl]=Replicode
Comment[sr]=Репликод
......@@ -76,6 +78,7 @@ GenericName[ca@valencia]=Replicode
GenericName[da]=Replicode
GenericName[de]=Replicode
GenericName[el]=Replicode
GenericName[en_GB]=Replicode
GenericName[es]=Replicode
GenericName[et]=Replicode
GenericName[fi]=Replicode
......@@ -83,7 +86,6 @@ GenericName[fr]=Replicode
GenericName[gl]=Replicode
GenericName[hu]=Replicode
GenericName[ia]=Replicode
GenericName[it]=Replicode
GenericName[ko]=Replicode
GenericName[nb]=Replicode
GenericName[nds]=Replicode
......@@ -92,6 +94,7 @@ GenericName[pl]=Replicode
GenericName[pt]=Replicode
GenericName[pt_BR]=Replicode
GenericName[ro]=Replicode
GenericName[ru]=Replicode
GenericName[sk]=Replikovať
GenericName[sl]=Replicode
GenericName[sr]=Репликод
......
......@@ -5,6 +5,7 @@ X-KDE-Library=katesearchplugin
X-Kate-Version=2.9
X-Kate-Load=True
Name=Search & Replace
Name[ar]=ابحث واستبدل
Name[bg]=Търсене и &замяна
Name[bs]=Pretraži i zamjeni
Name[ca]=Cerca i substitueix
......@@ -13,6 +14,7 @@ Name[cs]=Najít a nahradit
Name[da]=Søg og erstat
Name[de]=Suchen & Ersetzen
Name[el]=Αναζήτηση & αντικατάσταση
Name[en_GB]=Search & Replace
Name[es]=Buscar y remplazar
Name[et]=Otsimine ja asendamine
Name[fi]=Etsi ja korvaa
......@@ -53,6 +55,7 @@ Name[x-test]=xxSearch & Replacexx
Name[zh_CN]=搜索和替换
Name[zh_TW]=搜尋並取代
Comment=Search & replace in opened documents or in files on disk
Comment[ar]=ابحث واستبدل في المستندات المفتوحة أو في الملفات في القرص
Comment[bg]=Търсене и замяна в отворени документи или файлове на диска
Comment[bs]=Traži i zamijeni u otvorenim dokumentima ili datotekama na disku
Comment[ca]=Cerca i substitució en documents oberts o en fitxers del disc
......@@ -61,6 +64,7 @@ Comment[cs]=Najít a nahradit v otevřených dokumentech nebo souborech na disku
Comment[da]=Søg og erstat i åbne dokumenter eller i filer på disken
Comment[de]=Suchen & Ersetzen in geöffneten Dateien oder in Dateien auf der Festplatte
Comment[el]=Αναζήτηση & αντικατάσταση σε ανοιγμένα έγγραφα ή σε αρχεία στο δίσκο
Comment[en_GB]=Search & replace in opened documents or in files on disk
Comment[es]=Buscar y remplazar en los documentos abiertos o en los archivos del disco
Comment[et]=Otsimine ja asendamine avatud dokumentides või kettal asuvates failides
Comment[fi]=Etsi ja korvaa avatuista tai levyllä sijaitsevista tiedostoista
......
......@@ -11,6 +11,7 @@ Name[cs]=Nástrojový pohled ústřižků
Name[da]=Værktøjsvisning til tekststumper
Name[de]=Werkzeugansicht für Textbausteine
Name[el]=Προβολή εργαλείου τμημάτων κώδικα
Name[en_GB]=Snippets tool view
Name[es]=Vista de la herramienta de fragmentos de código
Name[et]=Koodijuppide tööriistavaade
Name[fi]=Katkelmanäkymä
......@@ -18,7 +19,7 @@ Name[fr]=Vue des outils de fragments de code
Name[gl]=Vista da ferramenta de fragmentos
Name[hu]=Töredékek eszköz nézet
Name[ia]=Vista de instrumento de fragmentos
Name[it]=Visualizzazione degli strumenti dei frammenti di codice
Name[it]=Strumento per frammenti di testo
Name[kk]=Үзінділерді қарау құралы
Name[km]=មើល​ឧបករណ៍ Snippets
Name[ko]=스니펫 도구 보기
......@@ -54,6 +55,7 @@ Comment[cs]=Nástroj s podporou správy ústřižků
Comment[da]=Værktøjsvisning til indlejring af håndtering af tekststumper
Comment[de]=Werkzeugansicht für die eingebettete Verwaltung von Textbausteinen
Comment[el]=Προβολή εργαλείου που ενσωματώνει τη διαχείριση τμημάτων κώδικα
Comment[en_GB]=Toolview embedding the snippets management
Comment[es]=Vista que empotra el gestor de fragmentos de código
Comment[et]=Koodijuppide haldamist põimiv tööriistavaade
Comment[fi]=Katkelmien hallinnan sisältävä työkalunäkymä
......@@ -61,7 +63,7 @@ Comment[fr]=Vue des outils intégrant la gestion des fragments de code
Comment[gl]=Vista que incorpora o xestor de fragmentos
Comment[hu]=Eszköznézet, beágyazott töredékkezeléssel
Comment[ia]=Vista de instrumento includente le gestion de fragmentos
Comment[it]=Strumento visivo che incorpora la gestione dei frammenti di codice
Comment[it]=Strumento visivo per incorporare la gestione di frammenti di testo
Comment[kk]=Құрамына енетін үзінділерді басқару құралы
Comment[km]=Toolview embedding the snippets management
Comment[ko]=스니펫 관리를 포함하는 도구 보기
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katesymbolviewerplugin
X-Kate-Version=2.8
Name=Symbol Viewer
Name[ar]=عارض الرموز
Name[ast]=Visor de símbolos
Name[bg]=Преглед на символи
Name[bs]=Prikazivač simbola
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katetabbarextensionplugin
X-Kate-Version=2.8
Name=Multiline Tab Bar
Name[ar]=شريط ألسنة متعدّد الأسطر
Name[bg]=Лента с подпрозорци на няколко реда
Name[bs]=Višelinijska traka kartica
Name[ca]=Barra de pestanyes multilínia
......@@ -12,6 +13,7 @@ Name[cs]=Víceřádkový pruh s kartami
Name[da]=Fanebladslinje med flere linjer
Name[de]=Mehrzeilige Unterfensterleiste
Name[el]=Καρτέλες πολλαπλών γραμμών
Name[en_GB]=Multiline Tab Bar
Name[es]=Barra de pestañas multilínea
Name[et]=Mitmerealine kaardiriba
Name[eu]=Lerro anitzeko fitxa-barra
......@@ -54,6 +56,7 @@ Name[x-test]=xxMultiline Tab Barxx
Name[zh_CN]=多行标签栏
Name[zh_TW]=多行分頁列
Comment=Adds a tab bar with multiple rows to Kate's main window
Comment[ar]=يضيف شريط ألسنة بصفوف متعدّدة إلى نافذة كيت الرئيسية
Comment[bg]=Добавяне на лента с подпрозорци на няколко реда към основния прозорец на Kate
Comment[bs]=Dodaje traku sa karticama u glavni prozor Kate
Comment[ca]=Afegeix una barra de pestanyes amb diverses files a la finestra principal del Kate
......@@ -62,6 +65,7 @@ Comment[cs]=Přidá do hlavního okna Kate pruh karet s více řádky
Comment[da]=Føjer en fanebladslinje med flere rækker til Kates hovedvindue
Comment[de]=Fügt dem Hauptfenster von Kate eine mehrzeilige Unterfensterleiste hinzu
Comment[el]=Προσθέτει καρτέλες πολλαπλών γραμμών στο κύριο παράθυρο του Kate
Comment[en_GB]=Adds a tab bar with multiple rows to Kate's main window
Comment[es]=Añade una barra de pestañas con varias filas a la ventana principal de Kate
Comment[et]=Lisab Kate peaaknasse mitmerealise kaardiriba
Comment[eu]=Hainbat errenkada dituen fitxa-barra gehitzen dio Kate-ren leiho nagusiari
......
......@@ -5,6 +5,7 @@ ServiceTypes=Kate/Plugin
Type=Service
Icon=korganizer
Name=Tab Bar
Name[ar]=شريط الألسنة
Name[ast]=Barra de llingüetes
Name[bg]=Лента с подпрозорци
Name[bs]=Traka kartica
......@@ -60,6 +61,7 @@ Name[x-test]=xxTab Barxx
Name[zh_CN]=标签栏
Name[zh_TW]=分頁列
Comment=Adds a standard tab bar to Kate's main window
Comment[ar]=يضيف شريط ألسنة قياسي إلى نافذة كيت الرئيسية
Comment[bg]=Добавяне на стандартна лента с подпрозорци към основния прозорец на Kate
Comment[bs]=Dodaje traku sa karticama u glavni prozor Kate
Comment[ca]=Afegeix una barra de pestanyes estàndard a la finestra principal del Kate
......@@ -68,6 +70,7 @@ Comment[cs]=Přidá do hlavního okna Kate standardní pruh karet
Comment[da]=Føjer en standard fanebladslinje til Kates hovedvindue
Comment[de]=Fügt dem Hauptfenster von Kate eine normale Unterfensterleiste hinzu
Comment[el]=Προσθέτει μια τυπική γραμμή καρτελών στο κύριο παράθυρο του Kate
Comment[en_GB]=Adds a standard tab bar to Kate's main window
Comment[es]=Añade una barra de pestañas estándar a la ventana principal de Kate
Comment[et]=Lisab Kate peaaknasse standardse kaardiriba
Comment[eu]=Fitxa-barra estandarra gehitzen dio Kate-ren leiho nagusiari
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katetextfilterplugin
X-Kate-Version=2.8
Name=Text Filter
Name[ar]=مرشّح النصوص
Name[ast]=Filtru de testu
Name[bg]=Текстов филтър
Name[bs]=Filter teksta
......@@ -58,6 +59,7 @@ Name[x-test]=xxText Filterxx
Name[zh_CN]=文本过滤
Name[zh_TW]=文字過濾器
Comment=Easy text filtering
Comment[ar]=ترشيح سهل للنصوص
Comment[ast]=Filtráu cenciellu de testu
Comment[bg]=Лесно филтриране на текст
Comment[bs]=Lako filtriranje teksta
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katexmlcheckplugin
X-Kate-Version=2.9
Name=XML Validation
Name[ar]=التحقّق من سلامة XML
Name[ast]=Validación XML
Name[bg]=Валидиране на XML
Name[bs]=Ovjera XML‑a
......@@ -59,6 +60,7 @@ Name[x-test]=xxXML Validationxx
Name[zh_CN]=XML 校验
Name[zh_TW]=XML 檢查器
Comment=Validates XML files using xmllint
Comment[ar]=يتحقّق من سلامة ملفات XML باستخدام xmllint
Comment[ast]=Valida ficheros XML usando xmllint
Comment[bg]=Валидиране на XML-файлове с помощта на xmllint
Comment[bs]=Overava XML datoteke naredbom xmllint
......
......@@ -4,6 +4,7 @@ ServiceTypes=Kate/Plugin
X-KDE-Library=katexmltoolsplugin
X-Kate-Version=2.9
Name=XML Completion
Name[ar]=إكمال XML
Name[ast]=Terminación XML
Name[bg]=Довършване на XML
Name[bs]=Dopuna XML‑a
......
......@@ -31,6 +31,32 @@
AutoBracePlugin *AutoBracePlugin::plugin = 0;
namespace {
/**
* Returns next character after specified text range in document.
* @param document Current document.
* @param position Text cursor position
* @return Next character after text position
*/
QChar nextToken(KTextEditor::Document* document, const KTextEditor::Cursor& position)
{
return document->character(position + KTextEditor::Cursor(0, 1));
}
/**
* Returns previous character before specified text range in document.
* @param document Current document.
* @param position Text cursor position
* @return Next character after text position
*/
QChar previousToken(KTextEditor::Document* document, const KTextEditor::Cursor& position)
{
return document->character(position - KTextEditor::Cursor(0, 1));
}
}
K_PLUGIN_FACTORY_DEFINITION(AutoBracePluginFactory,
registerPlugin<AutoBracePlugin>("ktexteditor_autobrace");
registerPlugin<AutoBraceConfig>("ktexteditor_autobrace_config");
......@@ -222,22 +248,27 @@ void AutoBracePluginDocument::slotTextRemoved(KTextEditor::Document* document, c
void AutoBracePluginDocument::slotTextInserted(KTextEditor::Document *document,
const KTextEditor::Range& range)
{
if (!range.onSingleLine() || range.columnWidth() != 1) {
return;
}
const KTextEditor::Cursor position = range.start();
const QChar insertedToken = document->character(position);
// Fill brackets map matching opening and closing brackets.
QMap<QString,QString> brackets;
brackets["("] = ")";
brackets["["] = "]";
QMap<QChar,QChar> brackets;
brackets['('] = ')';
brackets['['] = ']';
// latex wants {, too
if (document->mode() == "LaTeX")
brackets["{"] = "}";
brackets['{'] = '}';
// List of Tokens after which an automatic bracket expanion
// is allowed.
const static QStringList allowedNextToken = QStringList() << "]" << ")" << ","
<< "." << ";" << "\n" << "\t" << " " << "";
const QString text = document->text(range);
const static QVector<QChar> allowedNextToken = QVector<QChar>()
<< ']' << ')' << ',' << '.' << ';' << '\n' << '\t' << ' ' << QChar();
// An insertion operation cancels any last range removal
// An insertion operation cancels any last position removal
// operation
m_lastRange = KTextEditor::Range::invalid();
......@@ -247,14 +278,14 @@ void AutoBracePluginDocument::slotTextInserted(KTextEditor::Document *document,
// 3.) Quotation marks like " and '
// Handle brace openers
if (text == "\n") {
if (insertedToken == '\n') {
// Remember this position as insertion candidate.
// We don't directly insert this here because of KatePart specifics:
// a) Setting the cursor position crashes at this point, and
// b) textChanged() only gets called once per edit operation, so we can
// ignore the same braces when they're being inserted via paste.
if (isInsertionCandidate(document, range.start().line())) {
m_insertionLine = range.end().line();
if (isInsertionCandidate(document, position.line())) {
m_insertionLine = position.line();
connect(document, SIGNAL(textChanged(KTextEditor::Document*)),
this, SLOT(slotTextChanged(KTextEditor::Document*)));
}
......@@ -263,21 +294,21 @@ void AutoBracePluginDocument::slotTextInserted(KTextEditor::Document *document,
}
}
// Opening brackets (defined in ctor)
else if (m_autoBrackets && brackets.contains(text)) {
// Only insert auto closing brackets if current text range
else if (m_autoBrackets && brackets.contains(insertedToken)) {
// Only insert auto closing brackets if current text position
// is followed by one of the allowed next tokens.
if (allowedNextToken.contains(nextToken(document,range))) {
insertAutoBracket(document, range, brackets[text]);
if (allowedNextToken.contains(nextToken(document, position))) {