java: fix some indexing errors in perform_change
This commit is contained in:
parent
cd23269643
commit
49d673b0b8
9
java
9
java
@ -23,7 +23,7 @@ class Java(LspServer):
|
||||
self.path = arguments[0]
|
||||
super().__init__([
|
||||
"java",
|
||||
f"-javaagent:{locate_lombok}",
|
||||
f"-javaagent:{locate_lombok()}",
|
||||
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044",
|
||||
"-Declipse.application=org.eclipse.jdt.ls.core.id1",
|
||||
"-Dosgi.bundles.defaultStartLevel=4",
|
||||
@ -40,7 +40,7 @@ class Java(LspServer):
|
||||
|
||||
@command("java.apply.workspaceEdit")
|
||||
def workspaceEdit (self, arguments):
|
||||
print(f"we {arguments}")
|
||||
print(f"we {arguments}", file=sys.stderr)
|
||||
for argument in arguments:
|
||||
for file_name, changes in argument['changes'].items():
|
||||
file_name = file_name[len(FILE_URI):]
|
||||
@ -59,11 +59,12 @@ class Java(LspServer):
|
||||
def get_character_offset (file_contents, line, character):
|
||||
line_pos = 0
|
||||
while line > 0:
|
||||
line_pos = file_contents.index("\n", line_pos + 1)
|
||||
line_pos = file_contents.index("\n", line_pos) + 1
|
||||
line = line - 1
|
||||
return line_pos + character
|
||||
|
||||
def perform_change (file_text, change):
|
||||
change_start = get_character_offset(file_text, change['range']['start']['character'], change['range']['start']['character'])
|
||||
change_start = get_character_offset(file_text, change['range']['start']['line'], change['range']['start']['character'])
|
||||
change_end = get_character_offset(file_text, change['range']['end']['line'], change['range']['end']['character'])
|
||||
print(f"change {change_start} {change['newText']} {change_end}", file=sys.stderr)
|
||||
return file_text[:change_start] + change['newText'] + file_text[change_end:]
|
||||
|
Loading…
x
Reference in New Issue
Block a user