You've already forked gnatstudio
mirror of
https://github.com/AdaCore/gnatstudio.git
synced 2026-02-12 12:42:33 -08:00
83 lines
1.8 KiB
Python
83 lines
1.8 KiB
Python
"""miscellaneous text utilities, on top of text_utils, used by other plug-ins
|
|
"""
|
|
|
|
|
|
import GPS
|
|
import text_utils
|
|
|
|
# inserts text at current position in current file with a newline at the end
|
|
|
|
|
|
def insert_line(text):
|
|
GPS.Editor.insert_text("\n" + text)
|
|
|
|
|
|
# end insert_line
|
|
|
|
|
|
# replaces current line in current_file with specified new line
|
|
def replace_line(current_file, new_line):
|
|
line_num = GPS.Editor.cursor_get_line(current_file)
|
|
line = GPS.Editor.get_chars(current_file, line_num, 0)
|
|
if line[len(line) - 1] == "\n":
|
|
GPS.Editor.replace_text(current_file, line_num, 0, new_line, 0, len(line) - 1)
|
|
else:
|
|
GPS.Editor.replace_text(current_file, line_num, 0, new_line, 0, len(line))
|
|
# end if
|
|
|
|
|
|
# end replace_line
|
|
|
|
|
|
# get current line from current file
|
|
def get_line():
|
|
file = GPS.current_context().file().name()
|
|
line_num = GPS.current_context().location().line()
|
|
str = GPS.Editor.get_chars(file, line_num, 0)
|
|
return str[:-1] # omit the '\n'
|
|
|
|
|
|
# end get_line
|
|
|
|
|
|
# move up 'count' lines in the current file
|
|
def up(count=1):
|
|
file = GPS.current_context().file().name()
|
|
line = GPS.current_context().location().line()
|
|
GPS.Editor.cursor_set_position(file, line - count)
|
|
|
|
|
|
# end up
|
|
|
|
|
|
# move down 'count' lines in the current file
|
|
def down(count=1):
|
|
text_utils.next_line(count)
|
|
|
|
|
|
# end down
|
|
|
|
|
|
# attempt to move up 'count' lines in the current file, returning
|
|
# success/failure indication
|
|
def attempt_up(count=1):
|
|
line = GPS.current_context().location().line()
|
|
if line - count > 0:
|
|
file = GPS.current_context().file().name()
|
|
GPS.Editor.cursor_set_position(file, line - count)
|
|
return True
|
|
else:
|
|
return False
|
|
# end if
|
|
|
|
|
|
# end attempt_up
|
|
|
|
|
|
# return 'width' blanks
|
|
def blanks(width):
|
|
return " " * width
|
|
|
|
|
|
# end blanks
|