Comments (2)
This is impossible to parse.
function! s:foo()
let let s:inline_python = 'echo "I love python"'
endfunction
let s:inline_python = 'python << EOF'
call s:foo()
exec s:inline_python
import os
EOF
In this case, import os
should be parsed as VimL not python.
from vim-vimlparser.
But the following could be supported:
let cmd_exec = 'python3'
execute 'command! -nargs=1 PythonJedi '.cmd_exec.' <args>'
PythonJedi << EOF
try:
import foo
except Exception as excinfo:
pass
EOF
From a quick look this would require "only" to handle the heredoc for user commands, which is currently done in parse_cmd_lua
: https://github.com/Kuniwak/vint/blob/f78b0f034a70aa2d39130f6c5a3a21c6c61683e2/vint/_bundles/vimlparser.py#L1106
from vim-vimlparser.
Related Issues (20)
- Consider using CC0 Public Domain declaration
- Literal carriage returns break parser under Python 3.x HOT 9
- Handle default arguments with functions HOT 3
- "pos" is different (not a dict) with literal dicts
- 変換候補の削除プロンプトが壊れている HOT 1
- Parsing error with dict with variable key and no space before colon HOT 1
- s:VimLParser.builtin_{commands,functions} should be in separated JSON files HOT 1
- Failed to parse :syntax arguments HOT 1
- Support :function {'<lambda>42'} ? HOT 1
- Cannot use `is`, `isnot` for variable name HOT 1
- How can a python project depend on vimlparser? HOT 2
- Check vim/vim source files to generate built-in Ex commands / functions
- Support . (dot) as end marker for heredoc
- Support expr-.. (double dot) for string concatenation HOT 1
- error trying to parse map() with a lambda
- Support `:let=<<` with leading spaces before EOF HOT 2
- Bug with space in `syn region` regex
- vim9 script support? HOT 3
- Support for falsy operator?
- E492: Not an editor command: when parsing a long regular expression
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-vimlparser.