vim-repl
vim-repl copied to clipboard
不匹配的括号会触发vim报错
如何代码括号不匹配,插件会在vim里报错:比如
for i in range(len(l2)):
l2[i]=l2[i] % 10
if l2[i] // 10:
l2[i+1 += 1
Error detected while processing function repl#SendCurrentLine[10]..repl#SendWholeBlock[14]..repl#SendLines[10]..repl#ToREPLPythonCode:
line 23:
Traceback (most recent call last):
File "<string>", line 9, in <module>
File "/home/ping/.vim/bundle/vim-repl/autoload/formatpythoncode.py", line 387, in format_to_repl
pc.getcode(codes)
File "/home/ping/.vim/bundle/vim-repl/autoload/formatpythoncode.py", line 37, in getcode
self.mergeunfinishline()
File "/home/ping/.vim/bundle/vim-repl/autoload/formatpythoncode.py", line 112, in mergeunfinishline
tobeadded = self.rawcontents[j]
我觉得应该如实发给repl环境并在那里报错。
这个问题很难解决。因为插件的逻辑会检查一遍代码各行的括号匹配情况,已经每一行是否是完整的,已经每一行的缩进情况。这主要是因为ipython会自动的加入缩进,所以我需要知道每一行的缩进情况来进行删除ipython的自动锁进。
在本身代码括号匹配出错的情况下,插件是很难知道如何去发送代码的。