• Jérome Perrin's avatar
    core,monaco_editor: python language support 🚧 · d2b29af1
    Jérome Perrin authored
    some work in progress changes to improve developer experience
    
    monaco_editor: increase debounce timeout for pylint checks XXX
    
    on very large python files (>1000 lines) sometimes they queue up and we
    have to wait for all requests that were queued by zope.
    
    XXX maybe this does not happen when accessing through haproxy/apache, I
    am observing this when hitting zope directly
    
    jedi: generate stubs WIP
    
    ERP5: "quick and dirty" type annotations XXX
    
    IIRC the only thing needed is that ERP5TypeTestCase.getPortal is an
    ERP5Site
    
    monaco_editor: also enable jedi for codelens ( WIP: ZMI only )
    
    core: pass "language support url" to text editors XXX
    
    For now this is just the portal_url, but I'm thinking it could be a
    proper tool.
    
    monaco_editor: enable pylint in gadget version
    
    because pylint is a bit slow on large components, debounce every 2
    seconds. TODO: this is too slow.
    
    monaco_editor: enable formatting provider for python
    
    This makes "Format Document" / "Format Selection" work.
    
    monaco_editor: enable completion provider for python
    
    this makes completions works when using Ctrl+space
    
    monaco_editor: pass portal_type to checkPythonSourceCode
    
    python_support: new business template to act as a language server for python
    
    checkPythonSourceCode: add a cache
    
    When using checkPythonSourceCode integrated in the source code editor,
    for a scenario where developer edit a component and save we can benefit
    from caching the check message for the source code content, because the
    same check that the one happening in the editor will happen when the
    component is saved.
    
    This cache varies on:
     - "component_packages" cache cookie which is reset every time some
    component code is edited.
     - zope startup time to take into account editions of file system code.
    This assumes that after reseting file system code zope will be
    restarted.
     - portal_type, because the checks performed by this function also
    depend on portal type.
    
    jedi wip
    
    administration: keep using pylint only for now
    
    monaco_editor: jedi WIP
    
    core: use mypy to check python code ( WIP experiment )
    
    Revert "core: use mypy to check python code ( WIP experiment )"
    
    This reverts commit cfa27232.
    
    ERP5TypeTestCase: jedi workarounds
    
    monaco_editor: WIP reference provider for python
    
    monaco_editor: jedi wip (no longer use /tmp/)
    
    yapf: adjust config following up Gabriel feedback
    d2b29af1
title 19 Bytes