vim-repl icon indicating copy to clipboard operation
vim-repl copied to clipboard

不匹配的括号会触发vim报错

Open pinggit opened this issue 6 years ago • 1 comments

如何代码括号不匹配,插件会在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环境并在那里报错。

pinggit avatar Jan 14 '20 17:01 pinggit

这个问题很难解决。因为插件的逻辑会检查一遍代码各行的括号匹配情况,已经每一行是否是完整的,已经每一行的缩进情况。这主要是因为ipython会自动的加入缩进,所以我需要知道每一行的缩进情况来进行删除ipython的自动锁进。

在本身代码括号匹配出错的情况下,插件是很难知道如何去发送代码的。

sillybun avatar Mar 21 '21 11:03 sillybun