В настоящее время я пишу очень простой скрипт на PythonScript для базовой поддержки флажка ASCII в текстовом файле.
План состоит в том, что когда я нажимаю Alt + F2, редактор переключает [] на [x]и от [x] до [], если строка начинается с флажков или иным образом, чтобы просто вставить [] в текущую позицию.
Я написал скрипт, который работает ... почти
from Npp import *
import string
# If the line starts with [ ] or [x] the script toggles the value between the two possibilites
# if the line doesn't contains [ ] the script adds the empty box at the current position
curLine = editor.getCurLine()
curPos = editor.getCurrentPos()
curLineNr = editor.lineFromPosition(curPos)
strippedLine = curLine.lstrip()
if (strippedLine.startswith('[ ]')):
curLine = curLine.replace('[ ]', '[x]', 1).rstrip('\n')
editor.replaceWholeLine(curLineNr, curLine)
editor.gotoPos(curPos)
elif (strippedLine.startswith('[x]')):
curLine = curLine.replace('[x]', '[ ]', 1).rstrip('\n')
editor.replaceWholeLine(curLineNr, curLine)
editor.gotoPos(curPos)
else:
editor.addText('[ ] ')
Но этот скрипт добавляет новую строку после замененной строки редактора.Весьма глупая работа заключалась бы в том, чтобы удалить вновь вставленную строку, но я не хочу вставлять ее в первую очередь.
Редактировать: / Получил работу .Просто используйте метод editor.replaceWholeLine, и он работает как шарм.