spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.38k stars 1.62k forks source link

Double pydocstyle errors #15618

Closed sphh closed 3 years ago

sphh commented 3 years ago

Issue Report Checklist

Problem Description

When I activate linting, I get a double warning regarding D101 and D102 errors: Untitled

What steps reproduce the problem?

  1. Activate linting.
  2. Write a class or public method without docstring.

What is the expected output? What do you see instead?

To have only one error warning in the pop-up.

Versions

Dependencies


# Mandatory:
atomicwrites >=1.2.0          :  1.4.0 (OK)
chardet >=2.0.0               :  4.0.0 (OK)
cloudpickle >=0.5.0           :  1.6.0 (OK)
cookiecutter >=1.6.0          :  1.7.2 (OK)
diff_match_patch >=20181111   :  20200713 (OK)
intervaltree >=3.0.2          :  3.1.0 (OK)
IPython >=7.6.0               :  7.23.1 (OK)
jedi =0.17.2                  :  0.17.2 (OK)
jsonschema >=3.2.0            :  3.2.0 (OK)
keyring >=17.0.0              :  23.0.1 (OK)
nbconvert >=4.0               :  6.0.7 (OK)
numpydoc >=0.6.0              :  1.1.0 (OK)
parso =0.7.0                  :  0.7.0 (OK)
pexpect >=4.4.0               :  4.6.0 (OK)
pickleshare >=0.4             :  0.7.5 (OK)
psutil >=5.3                  :  5.5.1 (OK)
pygments >=2.0                :  2.9.0 (OK)
pylint >=1.0                  :  2.8.2 (OK)
pyls >=0.36.2;<1.0.0          :  0.36.2 (OK)
pyls_black >=0.4.6            :  0.4.6 (OK)
pyls_spyder >=0.3.2;<0.4.0    :  0.3.2 (OK)
qdarkstyle =3.0.2             :  3.0.2 (OK)
qstylizer >=0.1.10            :  0.2.0 (OK)
qtawesome >=1.0.2             :  1.0.2 (OK)
qtconsole >=5.1.0             :  5.1.0 (OK)
qtpy >=1.5.0                  :  1.9.0 (OK)
setuptools >=39.0.0           :  56.2.0 (OK)
sphinx >=0.6.6                :  4.0.1 (OK)
spyder_kernels >=2.0.2;<2.1.0 :  2.0.2 (OK)
textdistance >=4.2.0          :  4.2.1 (OK)
three_merge >=0.1.1           :  0.1.1 (OK)
watchdog >=0.10.3;<2.0.0      :  1.0.2 (OK)
xdg >=0.26                    :  0.26 (OK)
zmq >=17                      :  22.0.3 (OK)

# Optional:
cython >=0.21                 :  None (NOK)
matplotlib >=2.0.0            :  3.4.2 (OK)
numpy >=1.7                   :  1.20.3 (OK)
pandas >=1.1.1                :  1.2.4 (OK)
scipy >=0.17.0                :  1.6.3 (OK)
sympy >=0.7.3                 :  1.8 (OK)
andfoy commented 3 years ago

Hi @sphh, could you please provide the snippet of code that reproduces the duplicate linting suggestion? We could not reproduce this issue locally.

sphh commented 3 years ago

I just noticed, that not only the D101 and D102 errors are affected, but all errors:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu May 13 22:40:32 2021

"""

Untitled

I also have the editor split horizontally (two editors beside each other) and the outline pane showing.

`spyder.ini` ``` [main] opengl = automatic single_instance = True open_files_port = 21128 mac_open_file = False normal_screen_resolution = False high_dpi_scaling = True high_dpi_custom_scale_factor = False high_dpi_custom_scale_factors = 1.5 vertical_tabs = False prompt_on_exit = False panes_locked = True window/is_maximized = True window/is_fullscreen = False use_custom_margin = True custom_margin = 0 use_custom_cursor_blinking = False show_internal_errors = True check_updates_on_startup = True cursor/width = 2 report_error/remember_token = False show_tour_message = False version = 69.0.0 previous_crash = interface_language = en custom_cursor_blinking = 1200 window/statusbar = True [toolbar] enable = True toolbars_visible = True [statusbar] show_status_bar = True memory_usage/enable = False memory_usage/timeout = 2000 cpu_usage/enable = False cpu_usage/timeout = 2000 clock/enable = False clock/timeout = 1000 [internal_console] max_line_count = 300 working_dir_history = 30 working_dir_adjusttocontents = False wrap = True codecompletion/auto = False external_editor/path = SciTE external_editor/gotoline = -goto: message = Spyder Internal Console This console is used to report application internal errors and to inspect Spyder internals with the following commands: spy.app, spy.window, dir(spy) Please don't use it to run your code multithreaded = False profile = False commands = [] namespace = {} show_internal_errors = True first_time = True [main_interpreter] default = True custom = False umr/enabled = True umr/verbose = True umr/namelist = [] [ipython_console] show_banner = True completion_type = 0 show_calltips = True ask_before_closing = False show_reset_namespace_warning = True buffer_size = 500 pylab = True pylab/autoload = False pylab/backend = 0 pylab/inline/figure_format = 0 pylab/inline/resolution = 72 pylab/inline/width = 6 pylab/inline/height = 4 pylab/inline/bbox_inches = True startup/run_lines = startup/use_run_file = False startup/run_file = greedy_completer = False jedi_completer = False autocall = 0 symbolic_math = False in_prompt = out_prompt = show_elapsed_time = False ask_before_restart = True hide_cmd_windows = True pdb_prevent_closing = True pdb_ignore_lib = False pdb_execute_events = True pdb_use_exclamation_mark = True pdb_stop_first_line = True startup/pdb_run_lines = first_time = True [variable_explorer] check_all = False dataframe_format = .6g excluded_names = ['nan', 'inf', 'infty', 'little_endian', 'colorbar_doc', 'typecodes', '__builtins__', '__main__', '__doc__', 'NaN', 'Inf', 'Infinity', 'sctypes', 'rcParams', 'rcParamsDefault', 'sctypeNA', 'typeNA', 'False_', 'True_'] exclude_private = True exclude_uppercase = True exclude_capitalized = False exclude_unsupported = False exclude_callables_and_modules = True truncate = True minmax = False show_callable_attributes = True show_special_attributes = False first_time = True [plots] mute_inline_plotting = True show_plot_outline = False auto_fit_plotting = True save_dir = /home/user first_time = False [editor] printer_header/font/family = ['Sans Serif', 'DejaVu Sans', 'Bitstream Vera Sans', 'Bitstream Charter', 'Lucida Grande', 'MS Shell Dlg 2', 'Calibri', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant Garde', 'Times', 'sans-serif'] printer_header/font/size = 9 printer_header/font/italic = False printer_header/font/bold = False wrap = False wrapflag = True todo_list = True realtime_analysis = True realtime_analysis/timeout = 2500 outline_explorer = True line_numbers = True blank_spaces = False edge_line = True edge_line_columns = 79 indent_guides = False code_folding = False show_code_folding_warning = True scroll_past_end = True toolbox_panel = True close_parentheses = True close_quotes = True add_colons = True auto_unindent = True indent_chars = * * tab_stop_width_spaces = 4 check_eol_chars = True convert_eol_on_save = False convert_eol_on_save_to = LF tab_always_indent = False intelligent_backspace = True automatic_completions = True automatic_completions_after_chars = 3 automatic_completions_after_ms = 300 completions_hint = True completions_hint_after_ms = 500 underline_errors = True highlight_current_line = True highlight_current_cell = True occurrence_highlighting = True occurrence_highlighting/timeout = 1500 always_remove_trailing_spaces = True add_newline = True always_remove_trailing_newlines = True show_tab_bar = True show_class_func_dropdown = True max_recent_files = 20 save_all_before_run = True focus_to_editor = True run_cell_copy = False onsave_analysis = False autosave_enabled = True autosave_interval = 60 docstring_type = Numpydoc strip_trailing_spaces_on_modify = False windows_layout_settings = [] last_working_dir = /home/user first_time = True [historylog] enable = True wrap = True go_to_eof = True line_numbers = False first_time = False [help] enable = True max_history_entries = 20 wrap = True connect/editor = False connect/ipython_console = False math = True automatic_import = True plain_mode = False rich_mode = True show_source = False locked = False css_path = /usr/local/lib/python3.8/dist-packages/spyder/plugins/help/utils/static/css first_time = False [onlinehelp] enable = True handle_links = False max_history_entries = 20 first_time = False [outline_explorer] enable = True show_fullpath = False show_all_files = False group_cells = True sort_files_alphabetically = False show_comments = True follow_cursor = True display_variables = False first_time = True visibility = True [project_explorer] name_filters = {} show_all = True show_hscrollbar = True visible_if_project_open = False date_column = False file_associations = {} show_hidden = False single_click_to_open = False size_column = False type_column = False first_time = False [explorer] enable = True name_filters = {} show_hidden = False single_click_to_open = False size_column = False type_column = False date_column = True visible_columns = [0, 3] first_time = False [find_in_files] enable = True supported_encodings = ['utf-8', 'iso-8859-1', 'cp1252'] exclude = [''] exclude_regexp = False search_text_regexp = False search_text = ['', '(^|#)[ ]*(TODO|FIXME|XXX|HINT|TIP|@todo|HACK|BUG|OPTIMIZE|!!!|\\?\\?\\?)([^#]*)'] search_text_samples = ['(^|#)[ ]*(TODO|FIXME|XXX|HINT|TIP|@todo|HACK|BUG|OPTIMIZE|!!!|\\?\\?\\?)([^#]*)'] more_options = False case_sensitive = False exclude_case_sensitive = False max_results = 1000 text_color = #19232D hist_limit = 15 path_history = [] exclude_idx = 0 search_in_index = 0 first_time = False [breakpoints] enable = True first_time = False [completions] enable = True kite_call_to_action = False enable_code_snippets = True completions_wait_for_ms = 200 enabled_providers = {'kite': False} provider_configuration = {'fallback': {'version': '0.1.0', 'values': {}, 'defaults': {}}, 'kite': {'version': '0.1.0', 'values': {'spyder_runs': 3, 'show_installation_dialog': False, 'show_onboarding': True, 'show_installation_error_message': True}, 'defaults': {'spyder_runs': 1, 'show_installation_dialog': True, 'show_onboarding': True, 'show_installation_error_message': True}}, 'lsp': {'version': '0.1.0', 'values': {'enable_hover_hints': True, 'show_lsp_down_warning': True, 'code_completion': True, 'jedi_definition': True, 'jedi_definition/follow_imports': True, 'jedi_signature_help': True, 'preload_modules': 'numpy, scipy, sympy, pandas, networkx, statsmodels, matplotlib, sklearn, skimage, mpmath, os, pillow, OpenGL, array, audioop, binascii, cPickle, cStringIO, cmath, collections, datetime, errno, exceptions, gc, importlib, itertools, math, mmap, msvcrt, nt, operator, ast, signal, sys, threading, time, wx, zipimport, zlib, pytest, PyQt4, PyQt5, PySide, PySide2, os.path', 'pyflakes': True, 'mccabe': True, 'formatting': 'autopep8', 'format_on_save': False, 'pycodestyle': True, 'pycodestyle/filename': '', 'pycodestyle/exclude': '', 'pycodestyle/select': '', 'pycodestyle/ignore': '', 'pycodestyle/max_line_length': 79, 'pydocstyle': True, 'pydocstyle/convention': 'numpy', 'pydocstyle/select': '', 'pydocstyle/ignore': '', 'pydocstyle/match': '(?!test_).*\\.py', 'pydocstyle/match_dir': '[^\\.].*', 'advanced/enabled': False, 'advanced/module': 'pyls', 'advanced/host': '127.0.0.1', 'advanced/port': 2087, 'advanced/external': False, 'advanced/stdio': False}, 'defaults': {'enable_hover_hints': True, 'show_lsp_down_warning': True, 'code_completion': True, 'jedi_definition': True, 'jedi_definition/follow_imports': True, 'jedi_signature_help': True, 'preload_modules': 'numpy, scipy, sympy, pandas, networkx, statsmodels, matplotlib, sklearn, skimage, mpmath, os, pillow, OpenGL, array, audioop, binascii, cPickle, cStringIO, cmath, collections, datetime, errno, exceptions, gc, importlib, itertools, math, mmap, msvcrt, nt, operator, ast, signal, sys, threading, time, wx, zipimport, zlib, pytest, PyQt4, PyQt5, PySide, PySide2, os.path', 'pyflakes': True, 'mccabe': False, 'formatting': 'autopep8', 'format_on_save': False, 'pycodestyle': False, 'pycodestyle/filename': '', 'pycodestyle/exclude': '', 'pycodestyle/select': '', 'pycodestyle/ignore': '', 'pycodestyle/max_line_length': 79, 'pydocstyle': False, 'pydocstyle/convention': 'numpy', 'pydocstyle/select': '', 'pydocstyle/ignore': '', 'pydocstyle/match': '(?!test_).*\\.py', 'pydocstyle/match_dir': '[^\\.].*', 'advanced/enabled': False, 'advanced/module': 'pyls', 'advanced/host': '127.0.0.1', 'advanced/port': 2087, 'advanced/external': False, 'advanced/stdio': False}}, 'snippets': {'version': '0.1.0', 'values': {'python': {'class': {'plain': {'text': 'class ${1:ClassName}:\n def __init__(self, ${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'inheritance': {'text': 'class ${1:ClassName}($2):\n def __init__(self, ${3:*args}, ${4:**kwargs}):\n super().__init__(${5:*args}, ${6:**kwargs})$0', 'remove_trigger': False}}, 'def': {'method': {'text': 'def ${1:method_name}(self, ${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'function': {'text': 'def ${1:func_name}(${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}}, 'for': {'range': {'text': 'for ${1:i} in range(${2:0}, ${3:n}):\n ${4:pass}$0', 'remove_trigger': False}, 'iterator': {'text': 'for ${1:x} in ${2:iterator}:\n ${3:pass}$0', 'remove_trigger': False}}, 'while': {'condition': {'text': 'while ${1:cond}:\n ${2:pass}$0', 'remove_trigger': False}, 'infinite': {'text': 'while True:\n ${1:pass}$0', 'remove_trigger': False}}, 'import': {'package': {'text': 'import ${1:package}$0', 'remove_trigger': False}, 'alias': {'text': 'import ${1:package} as ${2:alias}$0', 'remove_trigger': False}}, 'from': {'import': {'text': 'from ${1:package} import ${2:module}$0', 'remove_trigger': False}, 'alias': {'text': 'from ${1:package} import ${2:module} as ${3:alias}$0', 'remove_trigger': False}}, 'async': {'def': {'text': 'async def ${1:func_name}(${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'method': {'text': 'async def ${1:method_name}(self, ${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'for': {'text': 'async for ${1:x} in ${2:iterator}:\n ${3:pass}$0', 'remove_trigger': False}}, 'try': {'except': {'text': '\ntry:\n ${1:pass}\nexcept ${2:Exception}:\n ${3:pass}$0\n', 'remove_trigger': False}, 'except alias': {'text': 'try:\n ${1:pass}\nexcept ${2:Exception} as ${3:e}:\n ${4:pass}$0', 'remove_trigger': False}, 'except/finally': {'text': 'try:\n ${1:pass}\nexcept ${2:Exception}:\n ${3:pass}\nfinally:\n ${4:pass}$0', 'remove_trigger': False}, 'except alias/finally': {'text': 'try:\n ${1:pass}\nexcept ${2:Exception} as ${3:e}:\n ${4:pass}\nfinally:\n ${5:pass}$0', 'remove_trigger': False}}, 'with': {'context': {'text': 'with ${1:context} as ${2:alias}:\n ${3:pass}$0', 'remove_trigger': False}}, 'list': {'comprehension': {'text': '[${1:x} for ${2:x} in ${3:iterator}]$0', 'remove_trigger': True}, 'comprehension if': {'text': '[${1:x} for ${2:x} in ${3:iterator} if ${4:cond}]$0', 'remove_trigger': True}, 'comprehension if/else': {'text': '[${1:x} if ${2:cond} else ${3:other} for ${4:x} in ${5:iterator}]$0', 'remove_trigger': True}}, 'dict': {'comprehension': {'text': '{${1:key}:${2:value} for ${3:elem} in ${4:iterator}\\}$0', 'remove_trigger': True}, 'comprehension if': {'text': '{${1:key}:${2:value} for ${3:elem} in ${4:iterator} if ${5:cond}\\}$0', 'remove_trigger': True}}, 'set': {'comprehension': {'text': '{${1:elem} for ${2:elem} in ${3:iterator}\\}$0', 'remove_trigger': True}, 'comprehension if': {'text': '{${1:elem} for ${2:elem} in ${3:iterator} if ${4:cond}\\}$0', 'remove_trigger': True}, 'comprehension if/else': {'text': '{${1:elem} if ${2:cond} else ${3:other} for ${4:elem} in ${5:iterator}\\}$0', 'remove_trigger': True}}}}, 'defaults': {'python': {'class': {'plain': {'text': 'class ${1:ClassName}:\n def __init__(self, ${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'inheritance': {'text': 'class ${1:ClassName}($2):\n def __init__(self, ${3:*args}, ${4:**kwargs}):\n super().__init__(${5:*args}, ${6:**kwargs})$0', 'remove_trigger': False}}, 'def': {'method': {'text': 'def ${1:method_name}(self, ${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'function': {'text': 'def ${1:func_name}(${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}}, 'for': {'range': {'text': 'for ${1:i} in range(${2:0}, ${3:n}):\n ${4:pass}$0', 'remove_trigger': False}, 'iterator': {'text': 'for ${1:x} in ${2:iterator}:\n ${3:pass}$0', 'remove_trigger': False}}, 'while': {'condition': {'text': 'while ${1:cond}:\n ${2:pass}$0', 'remove_trigger': False}, 'infinite': {'text': 'while True:\n ${1:pass}$0', 'remove_trigger': False}}, 'import': {'package': {'text': 'import ${1:package}$0', 'remove_trigger': False}, 'alias': {'text': 'import ${1:package} as ${2:alias}$0', 'remove_trigger': False}}, 'from': {'import': {'text': 'from ${1:package} import ${2:module}$0', 'remove_trigger': False}, 'alias': {'text': 'from ${1:package} import ${2:module} as ${3:alias}$0', 'remove_trigger': False}}, 'async': {'def': {'text': 'async def ${1:func_name}(${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'method': {'text': 'async def ${1:method_name}(self, ${2:*args}, ${3:**kwargs}):\n ${4:pass}$0', 'remove_trigger': False}, 'for': {'text': 'async for ${1:x} in ${2:iterator}:\n ${3:pass}$0', 'remove_trigger': False}}, 'try': {'except': {'text': '\ntry:\n ${1:pass}\nexcept ${2:Exception}:\n ${3:pass}$0\n', 'remove_trigger': False}, 'except alias': {'text': 'try:\n ${1:pass}\nexcept ${2:Exception} as ${3:e}:\n ${4:pass}$0', 'remove_trigger': False}, 'except/finally': {'text': 'try:\n ${1:pass}\nexcept ${2:Exception}:\n ${3:pass}\nfinally:\n ${4:pass}$0', 'remove_trigger': False}, 'except alias/finally': {'text': 'try:\n ${1:pass}\nexcept ${2:Exception} as ${3:e}:\n ${4:pass}\nfinally:\n ${5:pass}$0', 'remove_trigger': False}}, 'with': {'context': {'text': 'with ${1:context} as ${2:alias}:\n ${3:pass}$0', 'remove_trigger': False}}, 'list': {'comprehension': {'text': '[${1:x} for ${2:x} in ${3:iterator}]$0', 'remove_trigger': True}, 'comprehension if': {'text': '[${1:x} for ${2:x} in ${3:iterator} if ${4:cond}]$0', 'remove_trigger': True}, 'comprehension if/else': {'text': '[${1:x} if ${2:cond} else ${3:other} for ${4:x} in ${5:iterator}]$0', 'remove_trigger': True}}, 'dict': {'comprehension': {'text': '{${1:key}:${2:value} for ${3:elem} in ${4:iterator}\\}$0', 'remove_trigger': True}, 'comprehension if': {'text': '{${1:key}:${2:value} for ${3:elem} in ${4:iterator} if ${5:cond}\\}$0', 'remove_trigger': True}}, 'set': {'comprehension': {'text': '{${1:elem} for ${2:elem} in ${3:iterator}\\}$0', 'remove_trigger': True}, 'comprehension if': {'text': '{${1:elem} for ${2:elem} in ${3:iterator} if ${4:cond}\\}$0', 'remove_trigger': True}, 'comprehension if/else': {'text': '{${1:elem} if ${2:cond} else ${3:other} for ${4:elem} in ${5:iterator}\\}$0', 'remove_trigger': True}}}}}} request_priorities = {'$/cancelRequest': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'client/registerCapability': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'client/unregisterCapability': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'codeLens/resolve': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'completionItem/resolve': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/codeAction': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/codeLens': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/completion': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/cursorEvent': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/definition': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/didChange': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/didClose': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/didOpen': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/didSave': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/foldingRange': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/formatting': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/documentHighlight': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/hover': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/documentLink': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'documentLink/resolve': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/onTypeFormatting': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/publishDiagnostics': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/rangeFormatting': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, ' textDocument/references': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/rename': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/signatureHelp': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/documentSymbol': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/willSave': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'textDocument/willSaveWaitUntil': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'exit': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'initialize': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'initialized': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'shutdown': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'telemetry/event': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'window/logMessage': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'window/showMessage': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'window/showMessageRequest': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/applyEdit': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/configuration': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/didChangeConfiguration': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/executeCommand': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/workspaceFolders': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/didChangeWorkspaceFolders': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/symbol': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}, 'workspace/didChangeWatchedFiles': {'fallback': 1, 'kite': 0, 'lsp': 0, 'snippets': 2}} [profiler] enable = True text_color = #19232D first_time = False max_entries = 50 [pylint] enable = True max_entries = 30 project_dir = '/home/user/Software/git/menu' save_before = True first_time = False [workingdir] working_dir_adjusttocontents = False working_dir_history = 20 console/use_project_or_home_directory = False console/use_cwd = True console/use_fixed_directory = False startup/use_fixed_directory = False init_workdir = None history = ['/home/user/Software/git/menu', '/home/user'] workdir = None startup/use_project_or_home_directory = True [shortcuts] _/close pane = Shift+Ctrl+F4 _/lock unlock panes = Shift+Ctrl+F5 _/use next layout = Shift+Alt+PgDown _/use previous layout = Shift+Alt+PgUp _/maximize pane = Ctrl+Alt+Shift+M _/fullscreen mode = F11 _/save current layout = Shift+Alt+S _/layout preferences = Shift+Alt+P _/spyder documentation = F1 _/restart = Shift+Alt+R _/quit = Ctrl+Q _/file switcher = Ctrl+P _/symbol finder = Ctrl+Alt+P _/debug = Ctrl+F5 _/debug step over = Ctrl+F10 _/debug continue = Ctrl+F12 _/debug step into = Ctrl+F11 _/debug step return = Ctrl+Shift+F11 _/debug exit = Ctrl+Shift+F12 _/run = F5 _/configure = Ctrl+F6 _/re-run last script = F6 _/switch to help = Ctrl+Shift+H _/switch to outline_explorer = Ctrl+Shift+O _/switch to editor = Ctrl+Shift+E _/switch to historylog = Ctrl+Shift+L _/switch to onlinehelp = Ctrl+Shift+D _/switch to project_explorer = Ctrl+Shift+P _/switch to ipython_console = Ctrl+Shift+I _/switch to variable_explorer = Ctrl+Shift+V _/switch to find_in_files = Ctrl+Shift+F _/switch to explorer = Ctrl+Shift+X _/switch to plots = Ctrl+Shift+G _/switch to pylint = Ctrl+Shift+C _/switch to profiler = Ctrl+Shift+R find_replace/find text = Ctrl+F find_replace/find next = F3 find_replace/find previous = Shift+F3 find_replace/replace text = Ctrl+R find_replace/hide find and replace = Escape editor/code completion = Ctrl+Space editor/duplicate line up = Shift+Alt+Up editor/duplicate line down = Shift+Alt+Down editor/delete line = Ctrl+D editor/transform to uppercase = Ctrl+Shift+U editor/transform to lowercase = Ctrl+U editor/indent = Ctrl+] editor/unindent = Ctrl+[ editor/move line up = Alt+Up editor/move line down = Alt+Down editor/go to new line = Ctrl+Shift+Return editor/go to definition = Ctrl+G editor/toggle comment = Ctrl+1 editor/blockcomment = Ctrl+4 editor/unblockcomment = Ctrl+5 editor/start of line = Meta+A editor/end of line = Meta+E editor/previous line = Meta+P editor/next line = Meta+N editor/previous char = Meta+B editor/next char = Meta+F editor/previous word = Ctrl+Left editor/next word = Ctrl+Right editor/kill to line end = Meta+K editor/kill to line start = Meta+U editor/yank = Meta+Y editor/rotate kill ring = Shift+Meta+Y editor/kill previous word = Meta+Backspace editor/kill next word = Meta+D editor/start of document = Ctrl+Home editor/end of document = Ctrl+End editor/undo = Ctrl+Z editor/redo = Ctrl+Shift+Z editor/cut = Ctrl+X editor/copy = Ctrl+C editor/paste = Ctrl+V editor/delete = Del editor/select all = Ctrl+A editor/inspect current object = Ctrl+I editor/breakpoint = F12 editor/conditional breakpoint = Shift+F12 editor/run selection = F9 editor/go to line = Ctrl+L editor/go to previous file = Ctrl+Shift+Tab editor/go to next file = Ctrl+Tab editor/cycle to previous file = Ctrl+PgUp editor/cycle to next file = Ctrl+PgDown editor/new file = Ctrl+N editor/open last closed = Ctrl+Shift+T editor/open file = Ctrl+O editor/save file = Ctrl+S editor/save all = Ctrl+Alt+S editor/save as = Ctrl+Shift+S editor/close all = Ctrl+Shift+W editor/last edit location = Ctrl+Alt+Shift+Left editor/previous cursor position = Alt+Left editor/next cursor position = Alt+Right editor/previous warning = Ctrl+Alt+Shift+, editor/next warning = Ctrl+Alt+Shift+. editor/zoom in 1 = Ctrl++ editor/zoom in 2 = Ctrl+= editor/zoom out = Ctrl+- editor/zoom reset = Ctrl+0 editor/close file 1 = Ctrl+W editor/close file 2 = Ctrl+F4 editor/run cell = Ctrl+Return editor/run cell and advance = Shift+Return editor/debug cell = Alt+Shift+Return editor/go to next cell = Ctrl+Down editor/go to previous cell = Ctrl+Up editor/re-run last cell = Alt+Return editor/split vertically = Ctrl+{ editor/split horizontally = Ctrl+_ editor/close split panel = Alt+Shift+W editor/docstring = Ctrl+Alt+D editor/autoformatting = Ctrl+Alt+I editor/show in external file explorer = _/switch to breakpoints = Ctrl+Shift+B console/inspect current object = Ctrl+I console/clear shell = Ctrl+L console/clear line = Shift+Escape pylint/run analysis = F8 profiler/run profiler = F10 ipython_console/new tab = Ctrl+T ipython_console/reset namespace = Ctrl+Alt+R ipython_console/restart kernel = Ctrl+. array_builder/enter array inline = Ctrl+Alt+M array_builder/enter array table = Ctrl+M variable_explorer/copy = Ctrl+C variable_explorer/search = Ctrl+F variable_explorer/refresh = Ctrl+R plots/copy = Ctrl+C plots/previous figure = Ctrl+PgUp plots/next figure = Ctrl+PgDown plots/save = Ctrl+S plots/save all = Ctrl+Alt+S plots/close = Ctrl+W plots/close all = Ctrl+Shift+W plots/zoom in = Ctrl++ plots/zoom out = Ctrl+- explorer/copy file = Ctrl+C explorer/paste file = Ctrl+V explorer/copy absolute path = Ctrl+Alt+C explorer/copy relative path = Ctrl+Alt+Shift+C find_in_files/find in files = Ctrl+Alt+F shortcuts/show_shortcut_summary_action = _/switch to internal_console = profiler/profile_current_filename_action = [appearance] icon_theme = spyder 3 font/family = 'Hack' font/size = 11 font/italic = False font/bold = False rich_font/family = ['Sans Serif', 'DejaVu Sans', 'Bitstream Vera Sans', 'Bitstream Charter', 'Lucida Grande', 'MS Shell Dlg 2', 'Calibri', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant Garde', 'Times', 'sans-serif'] rich_font/size = 9 rich_font/italic = False rich_font/bold = False ui_theme = light names = ['emacs', 'idle', 'inkpot', 'minimal', 'monokai', 'nightlion', 'notepad++', 'oblivion', 'obsidian', 'pastel', 'pydev', 'retta', 'roboticket', 'scintilla', 'solarized/dark', 'solarized/light', 'spyder', 'spyder/dark', 'sublime-monokai/extended', 'vibrant-ink', 'zenburn'] selected = spyder emacs/name = Emacs emacs/background = #000000 emacs/currentline = #2b2b43 emacs/currentcell = #1c1c2d emacs/occurrence = #1A72BB emacs/ctrlclick = #0000ff emacs/sideareas = #555555 emacs/matched_p = #009800 emacs/unmatched_p = #c80000 emacs/normal = ('#ffffff', False, False) emacs/keyword = ('#3c51e8', False, False) emacs/magic = ('#3c51e8', False, False) emacs/builtin = ('#900090', False, False) emacs/definition = ('#ff8040', True, False) emacs/comment = ('#005100', False, False) emacs/string = ('#00aa00', False, True) emacs/number = ('#800000', False, False) emacs/instance = ('#ffffff', False, True) idle/name = IDLE idle/background = #ffffff idle/currentline = #f2e6f3 idle/currentcell = #feefff idle/occurrence = #C2E3FA idle/ctrlclick = #0000ff idle/sideareas = #efefef idle/matched_p = #99ff99 idle/unmatched_p = #ff9999 idle/normal = ('#000000', False, False) idle/keyword = ('#ff7700', True, False) idle/magic = ('#ff7700', True, False) idle/builtin = ('#900090', False, False) idle/definition = ('#0000ff', False, False) idle/comment = ('#dd0000', False, True) idle/string = ('#00aa00', False, False) idle/number = ('#924900', False, False) idle/instance = ('#777777', True, True) monokai/name = Monokai monokai/background = #2a2b24 monokai/currentline = #484848 monokai/currentcell = #3d3d3d monokai/occurrence = #1A72BB monokai/ctrlclick = #0000ff monokai/sideareas = #2a2b24 monokai/matched_p = #688060 monokai/unmatched_p = #bd6e76 monokai/normal = ('#ddddda', False, False) monokai/keyword = ('#f92672', False, False) monokai/magic = ('#f92672', False, False) monokai/builtin = ('#ae81ff', False, False) monokai/definition = ('#a6e22e', False, False) monokai/comment = ('#75715e', False, True) monokai/string = ('#e6db74', False, False) monokai/number = ('#ae81ff', False, False) monokai/instance = ('#ddddda', False, True) pydev/name = Pydev pydev/background = #ffffff pydev/currentline = #e8f2fe pydev/currentcell = #eff8fe pydev/occurrence = #C2E3FA pydev/ctrlclick = #0000ff pydev/sideareas = #efefef pydev/matched_p = #99ff99 pydev/unmatched_p = #ff99992 pydev/normal = ('#000000', False, False) pydev/keyword = ('#0000ff', False, False) pydev/magic = ('#0000ff', False, False) pydev/builtin = ('#900090', False, False) pydev/definition = ('#000000', True, False) pydev/comment = ('#c0c0c0', False, False) pydev/string = ('#00aa00', False, True) pydev/number = ('#800000', False, False) pydev/instance = ('#000000', False, True) scintilla/name = Scintilla scintilla/background = #ffffff scintilla/currentline = #e1f0d1 scintilla/currentcell = #edfcdc scintilla/occurrence = #C2E3FA scintilla/ctrlclick = #0000ff scintilla/sideareas = #efefef scintilla/matched_p = #99ff99 scintilla/unmatched_p = #ff9999 scintilla/normal = ('#000000', False, False) scintilla/keyword = ('#00007f', True, False) scintilla/magic = ('#00007f', True, False) scintilla/builtin = ('#000000', False, False) scintilla/definition = ('#007f7f', True, False) scintilla/comment = ('#007f00', False, False) scintilla/string = ('#7f007f', False, False) scintilla/number = ('#007f7f', False, False) scintilla/instance = ('#000000', False, True) spyder/name = Spyder spyder/background = #ffffff spyder/currentline = #f7ecf8 spyder/currentcell = #fdfdde spyder/occurrence = #C2E3FA spyder/ctrlclick = #0000ff spyder/sideareas = #efefef spyder/matched_p = #99ff99 spyder/unmatched_p = #ff9999 spyder/normal = ('#000000', False, False) spyder/keyword = ('#0000ff', False, False) spyder/magic = ('#0000ff', False, False) spyder/builtin = ('#900090', False, False) spyder/definition = ('#000000', True, False) spyder/comment = ('#adadad', False, True) spyder/string = ('#00aa00', False, False) spyder/number = ('#800000', False, False) spyder/instance = ('#924900', False, True) spyder/dark/name = Spyder Dark spyder/dark/background = #19232D spyder/dark/currentline = #3a424a spyder/dark/currentcell = #292d3e spyder/dark/occurrence = #1A72BB spyder/dark/ctrlclick = #179ae0 spyder/dark/sideareas = #222b35 spyder/dark/matched_p = #0bbe0b spyder/dark/unmatched_p = #ff4340 spyder/dark/normal = ('#ffffff', False, False) spyder/dark/keyword = ('#c670e0', False, False) spyder/dark/magic = ('#c670e0', False, False) spyder/dark/builtin = ('#fab16c', False, False) spyder/dark/definition = ('#57d6e4', True, False) spyder/dark/comment = ('#999999', False, False) spyder/dark/string = ('#b0e686', False, True) spyder/dark/number = ('#faed5c', False, False) spyder/dark/instance = ('#ee6772', False, True) zenburn/name = Zenburn zenburn/background = #3f3f3f zenburn/currentline = #333333 zenburn/currentcell = #2c2c2c zenburn/occurrence = #1A72BB zenburn/ctrlclick = #0000ff zenburn/sideareas = #3f3f3f zenburn/matched_p = #688060 zenburn/unmatched_p = #bd6e76 zenburn/normal = ('#dcdccc', False, False) zenburn/keyword = ('#dfaf8f', True, False) zenburn/magic = ('#dfaf8f', True, False) zenburn/builtin = ('#efef8f', False, False) zenburn/definition = ('#efef8f', False, False) zenburn/comment = ('#7f9f7f', False, True) zenburn/string = ('#cc9393', False, False) zenburn/number = ('#8cd0d3', False, False) zenburn/instance = ('#dcdccc', False, True) solarized/light/name = Solarized Light solarized/light/background = #fdf6e3 solarized/light/currentline = #f5efdB solarized/light/currentcell = #eee8d5 solarized/light/occurrence = #C2E3FA solarized/light/ctrlclick = #d33682 solarized/light/sideareas = #eee8d5 solarized/light/matched_p = #d6dabf solarized/light/unmatched_p = #dc322f solarized/light/normal = ('#657b83', False, False) solarized/light/keyword = ('#859900', False, False) solarized/light/magic = ('#859900', False, False) solarized/light/builtin = ('#6c71c4', False, False) solarized/light/definition = ('#268bd2', True, False) solarized/light/comment = ('#93a1a1', False, True) solarized/light/string = ('#2aa198', False, False) solarized/light/number = ('#d33682', False, False) solarized/light/instance = ('#b58900', False, True) solarized/dark/name = Solarized Dark solarized/dark/background = #002b36 solarized/dark/currentline = #083f4d solarized/dark/currentcell = #073642 solarized/dark/occurrence = #1A72BB solarized/dark/ctrlclick = #d33682 solarized/dark/sideareas = #073642 solarized/dark/matched_p = #586e75 solarized/dark/unmatched_p = #dc322f solarized/dark/normal = ('#E1E1E1', False, False) solarized/dark/keyword = ('#859900', False, False) solarized/dark/magic = ('#859900', False, False) solarized/dark/builtin = ('#6c71c4', False, False) solarized/dark/definition = ('#268bd2', True, False) solarized/dark/comment = ('#657b83', False, True) solarized/dark/string = ('#2aa198', False, False) solarized/dark/number = ('#d33682', False, False) solarized/dark/instance = ('#b58900', False, True) inkpot/name = Inkpot inkpot/background = #1f1f27 inkpot/currentline = #2d2d44 inkpot/currentcell = #33333A inkpot/occurrence = #1A72BB inkpot/ctrlclick = #1f1f27 inkpot/sideareas = #2d2d44 inkpot/matched_p = #3672b5 inkpot/unmatched_p = #8b8bff inkpot/normal = ('#cfbfad', False, False) inkpot/keyword = ('#808bed', False, False) inkpot/magic = ('#808bed', False, False) inkpot/builtin = ('#87cefa', False, False) inkpot/definition = ('#87cefa', False, False) inkpot/comment = ('#cd8b00', False, False) inkpot/string = ('#ffcd8b', False, False) inkpot/number = ('#ffcd8b', False, False) inkpot/instance = ('#cfbfad', False, False) minimal/name = Minimal minimal/background = #ffffff minimal/currentline = #aaccff minimal/currentcell = #E7F1FF minimal/occurrence = #C2E3FA minimal/ctrlclick = #05314d minimal/sideareas = #aaccff minimal/matched_p = #000000 minimal/unmatched_p = #efefff minimal/normal = ('#000000', False, False) minimal/keyword = ('#5c8198', False, False) minimal/magic = ('#5c8198', False, False) minimal/builtin = ('#000066', False, False) minimal/definition = ('#5c8198', False, False) minimal/comment = ('#334466', False, False) minimal/string = ('#333333', False, False) minimal/number = ('#333333', False, False) minimal/instance = ('#566874', False, False) nightlion/name = NightLion Aptana Theme nightlion/background = #1e1e1e nightlion/currentline = #505050 nightlion/currentcell = #323232 nightlion/occurrence = #1A72BB nightlion/ctrlclick = #b3b5af nightlion/sideareas = #505050 nightlion/matched_p = #3672b5 nightlion/unmatched_p = #364656 nightlion/normal = ('#e2e2e2', False, False) nightlion/keyword = ('#8dcbe2', False, False) nightlion/magic = ('#8dcbe2', False, False) nightlion/builtin = ('#cae682', False, False) nightlion/definition = ('#dfbe95', False, False) nightlion/comment = ('#7f9f7f', False, False) nightlion/string = ('#cc9393', False, False) nightlion/number = ('#eab882', False, False) nightlion/instance = ('#b3b784', False, False) notepad++/name = Notepad++ notepad++/background = #ffffff notepad++/currentline = #eeeeee notepad++/currentcell = #D9D9D9 notepad++/occurrence = #C2E3FA notepad++/ctrlclick = #800080 notepad++/sideareas = #eeeeee notepad++/matched_p = #8000ff notepad++/unmatched_p = #eeeeee notepad++/normal = ('#8000ff', False, False) notepad++/keyword = ('#0000ff', False, False) notepad++/magic = ('#0000ff', False, False) notepad++/builtin = ('#000080', False, False) notepad++/definition = ('#ff00ff', False, False) notepad++/comment = ('#008000', False, False) notepad++/string = ('#808080', False, False) notepad++/number = ('#ff8000', False, False) notepad++/instance = ('#800080', False, False) oblivion/name = Oblivion oblivion/background = #1e1e1e oblivion/currentline = #2a2a2a oblivion/currentcell = #323232 oblivion/occurrence = #1A72BB oblivion/ctrlclick = #ccdf32 oblivion/sideareas = #2a2a2a oblivion/matched_p = #de7878 oblivion/unmatched_p = #000000 oblivion/normal = ('#d8d8d8', False, False) oblivion/keyword = ('#ffffff', False, False) oblivion/magic = ('#ffffff', False, False) oblivion/builtin = ('#de7878', False, False) oblivion/definition = ('#ffffff', False, False) oblivion/comment = ('#c7dd0c', False, False) oblivion/string = ('#ffc600', False, False) oblivion/number = ('#7fb347', False, False) oblivion/instance = ('#bed6ff', False, False) obsidian/name = Obsidian obsidian/background = #293134 obsidian/currentline = #2f393c obsidian/currentcell = #3C4346 obsidian/occurrence = #1A72BB obsidian/ctrlclick = #7d8c93 obsidian/sideareas = #2f393c obsidian/matched_p = #3672b5 obsidian/unmatched_p = #804000 obsidian/normal = ('#e0e2e4', False, False) obsidian/keyword = ('#93c763', False, False) obsidian/magic = ('#93c763', False, False) obsidian/builtin = ('#678cb1', False, False) obsidian/definition = ('#678cb1', False, False) obsidian/comment = ('#7d8c93', False, False) obsidian/string = ('#ec7600', False, False) obsidian/number = ('#ffcd22', False, False) obsidian/instance = ('#678cb1', False, False) pastel/name = Pastel pastel/background = #1f2223 pastel/currentline = #2f393c pastel/currentcell = #454849 pastel/occurrence = #1A72BB pastel/ctrlclick = #7d8c93 pastel/sideareas = #2f393c pastel/matched_p = #3672b5 pastel/unmatched_p = #95bed8 pastel/normal = ('#e0e2e4', False, False) pastel/keyword = ('#a57b61', False, False) pastel/magic = ('#a57b61', False, False) pastel/builtin = ('#678cb1', False, False) pastel/definition = ('#678cb1', False, False) pastel/comment = ('#7d8c93', False, False) pastel/string = ('#c78d9b', False, False) pastel/number = ('#c78d9b', False, False) pastel/instance = ('#678cb1', False, False) retta/name = Retta retta/background = #000000 retta/currentline = #2a2a2a retta/currentcell = #171717 retta/occurrence = #1A72BB retta/ctrlclick = #83786e retta/sideareas = #2a2a2a retta/matched_p = #de7878 retta/unmatched_p = #527d5d retta/normal = ('#f8e1aa', False, False) retta/keyword = ('#e79e3c', True, False) retta/magic = ('#e79e3c', True, False) retta/builtin = ('#de6546', True, False) retta/definition = ('#a4b0c0', False, False) retta/comment = ('#83786e', False, False) retta/string = ('#d6c248', False, False) retta/number = ('#d6c248', False, False) retta/instance = ('#de6546', False, False) roboticket/name = Roboticket roboticket/background = #f5f5f5 roboticket/currentline = #e0e0ff roboticket/currentcell = #CCCCE8 roboticket/occurrence = #C2E3FA roboticket/ctrlclick = #ad95af roboticket/sideareas = #e0e0ff roboticket/matched_p = #585858 roboticket/unmatched_p = #bdd8f2 roboticket/normal = ('#585858', False, False) roboticket/keyword = ('#295f94', False, True) roboticket/magic = ('#295f94', False, True) roboticket/builtin = ('#ab2525', False, False) roboticket/definition = ('#bc5a65', True, False) roboticket/comment = ('#ad95af', False, True) roboticket/string = ('#317ecc', False, False) roboticket/number = ('#af0f91', False, False) roboticket/instance = ('#566874', False, False) sublime-monokai/extended/name = Sublime Text Monokai Extended sublime-monokai/extended/background = #222222 sublime-monokai/extended/currentline = #2f2f2f sublime-monokai/extended/currentcell = #363636 sublime-monokai/extended/occurrence = #1A72BB sublime-monokai/extended/ctrlclick = #ffffff sublime-monokai/extended/sideareas = #2f2f2f sublime-monokai/extended/matched_p = #679116 sublime-monokai/extended/unmatched_p = #cc9900 sublime-monokai/extended/normal = ('#cfbfad', False, False) sublime-monokai/extended/keyword = ('#ff007f', False, False) sublime-monokai/extended/magic = ('#ff007f', False, False) sublime-monokai/extended/builtin = ('#52e3f6', False, False) sublime-monokai/extended/definition = ('#a7ec21', False, False) sublime-monokai/extended/comment = ('#ffffff', False, False) sublime-monokai/extended/string = ('#ece47e', False, False) sublime-monokai/extended/number = ('#c48cff', False, False) sublime-monokai/extended/instance = ('#cfbfad', False, False) vibrant-ink/name = Vibrant Ink vibrant-ink/background = #191919 vibrant-ink/currentline = #222220 vibrant-ink/currentcell = #2D2D2D vibrant-ink/occurrence = #1A72BB vibrant-ink/ctrlclick = #8c3fc8 vibrant-ink/sideareas = #222220 vibrant-ink/matched_p = #598c19 vibrant-ink/unmatched_p = #414c3b vibrant-ink/normal = ('#ffffff', False, False) vibrant-ink/keyword = ('#ec691e', False, False) vibrant-ink/magic = ('#ec691e', False, False) vibrant-ink/builtin = ('#9cf828', False, False) vibrant-ink/definition = ('#f7c527', False, False) vibrant-ink/comment = ('#8146a2', False, False) vibrant-ink/string = ('#477488', False, False) vibrant-ink/number = ('#477488', False, False) vibrant-ink/instance = ('#357a8f', False, False) custom_names = [] [snippet-completions] erlang = {} swift = {} json = {} kotlin = {} r = {} fortran = {} bash = {} typescript = {} javascript = {} scala = {} haxe = {} php = {} cpp = {} c# = {} html = {} go = {} graphql = {} julia = {} java = {} rust = {} groovy = {} ocaml = {} css/less/sass = {} elixir = {} [run] post_mortem = False clear_namespace = False console_namespace = False interact = False open_on_firstrun = False default/interpreter/current = False default/interpreter/dedicated = True default/interpreter/systerm = False default/wdir/use_script_directory = False default/wdir/use_cwd_directory = True default/wdir/use_fixed_directory = False history = 20 open_at_least_once = False ```
ccordoba12 commented 3 years ago

I can't reproduce this problem.

sphh commented 3 years ago

Oij, not good. Anything I could help with? Running spyder with some special command line options? Adding some print statements in strategic places?

So here is how I could reproduce it:

  1. Start spyder fresh without existing configuration.
  2. Set Preferences > Completion > Code style and formatting > [x] Enable code style linting.
  3. Split editor pane horizontally into two.
  4. Exit spyder.
  5. Start spyder.

Now I start to see double errors.

sphh commented 3 years ago

I just noticed, that this has the Status: Awaiting Followup tag. Which additional information do you need?

ccordoba12 commented 3 years ago

Thanks for the reminder @sphh. I was able to reproduce the error following your procedure.

We'll fix it in our next version (5.1.0), to be released at the end of July.

sphh commented 3 years ago

Thanks, @ccordoba12! Highly appreciated.