niosus/EasyClangComplete

Designated initializers don't seem to be parsed correctly

Feacur opened this issue ยท 5 comments

... or requested, maybe?

UPD: seems to be a Clang issue (clangd/clangd#142) (clangd/clangd#745)
Just as LSP + clangd only designators in simple assignments seem to function correctly.

(Yup, I've seen your message "Discussion on a simpler C++ user experience" =))

System info:

  • Sublime Text version: Version 3.2.2, Build 3211
  • Which system are you on: Windows 10 Home, 10.0.19042 Build 19042
  • Clang version: 10, x86_64-pc-windows-msvc, posix

What happens:

No completion for designated initializers

Sublime Text + EasyClangComplete:
image

VSCode + ms-vscode.cpptools:
image

My setup as a reference: https://github.com/Feacur/game_prototype/tree/master/__sublime_project

Minimal example:

struct Struct {
	int value1;
	int value2;
};

int main (int argc, char * argv[]) {
	(void)argc; (void)argv;
	struct Struct structure = {
		// typing a `.` should show something like `[struct Struct::value1], [struct Struct::value2]`
		0,
	};
	(void)structure;
	return 0;
}

image

Log that illustrates the issue:
DPI mode: per-monitor v2
startup, version: 3211 windows x64 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/Feacu/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/Feacu/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/Feacu/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.173157
startup time: 0.294157
first paint time: 0.305157
reloading plugin Default.arithmetic
reloading plugin Default.auto_indent_tag
reloading plugin Default.block
reloading plugin Default.colors
reloading plugin Default.comment
reloading plugin Default.convert_color_scheme
reloading plugin Default.convert_syntax
reloading plugin Default.copy_path
reloading plugin Default.detect_indentation
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.install_package_control
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.profile
reloading plugin Default.quick_panel
reloading plugin Default.rename
reloading plugin Default.run_syntax_tests
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.settings
reloading plugin Default.show_scope_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.ui
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin ShellScript.ShellScript
reloading plugin 0_package_control_loader.00-package_control
reloading plugin 0_package_control_loader.01-pygments
reloading plugin 0_package_control_loader.01-sublime_lib
reloading plugin 0_package_control_loader.10-wcwidth
reloading plugin 0_package_control_loader.40-pywinpty
reloading plugin 0_package_control_loader.50-markupsafe
reloading plugin 0_package_control_loader.50-pathlib
reloading plugin 0_package_control_loader.50-pymdownx
reloading plugin 0_package_control_loader.50-pyte
reloading plugin 0_package_control_loader.50-python-markdown
reloading plugin 0_package_control_loader.50-pyyaml
reloading plugin 0_package_control_loader.51-python-jinja2
reloading plugin 0_package_control_loader.55-mdpopups
reloading plugin BuildX.ansi
reloading plugin BuildX.buildx
reloading plugin BuildX.test-color-scheme
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 125, in reload_plugin
    m = importlib.import_module(modulename)
  File "./python3.3/importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 1199, in load_module
    exec(compile(source, source_path, 'exec'), mod.__dict__)
  File "C:\Users\Feacu\AppData\Roaming\Sublime Text 3\Installed Packages\BuildX.sublime-package\test-color-scheme.py", line 5
    print(f"\x1b[0m\x1b[{code}m{name}\x1b[0m")
                                            ^
SyntaxError: invalid syntax
reloading plugin HexViewer.hex_checksum
reloading plugin HexViewer.hex_common
reloading plugin HexViewer.hex_editor
reloading plugin HexViewer.hex_finder
reloading plugin HexViewer.hex_highlighter
reloading plugin HexViewer.hex_inspector
reloading plugin HexViewer.hex_notify
reloading plugin HexViewer.hex_viewer
reloading plugin HexViewer.hex_writer
reloading plugin HexViewer.sum_hashes
reloading plugin HexViewer.support
reloading plugin HexViewer.tiger
reloading plugin HexViewer.whirlpool
reloading plugin Package Control.1_reloader
reloading plugin Package Control.2_bootstrap
reloading plugin Package Control.Package Control
reloading plugin PackageDev._logging
reloading plugin PackageDev.main
reloading plugin ProjectManager.json_file
reloading plugin ProjectManager.project_manager
reloading plugin SyncedSideBar.SyncedSideBar
reloading plugin Terminus.main
reloading plugin EasyClangComplete.EasyClangComplete
reloading plugin User.plugins
plugins loaded
[ECC:DEBUG]:[settings_storage.py]:[need_reparse]:[MainThread]: settings complete
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[MainThread]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[MainThread]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[MainThread]: view file_name is None
git: tracking working dir F:\Projects\game_prototype
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[EasyClangComplete.py]:[on_modified_async]:[Dummy-5]: on_modified_async view id 36
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
Package Control: Skipping automatic upgrade, last run at 2021-04-12 16:49:21, next run at 2021-04-12 17:49:21 or after
[ECC:DEBUG]:[settings_manager.py]:[settings_for_view]:[Dummy-5]: no settings for view 36. Reinitializing.
[ECC:DEBUG]:[settings_storage.py]:[__load_vars_from_settings]:[Dummy-5]: Overriding settings by project ones if needed:
[ECC:DEBUG]:[settings_storage.py]:[__load_vars_from_settings]:[Dummy-5]: Valid prefixes: ['ecc_', 'easy_clang_complete_']
[ECC:DEBUG]:[settings_storage.py]:[__load_vars_from_settings]:[Dummy-5]: Reading settings...
[ECC:DEBUG]:[settings_storage.py]:[__load_vars_from_settings]:[Dummy-5]: common_flags               <-- '['-std=c99', '-Werror', '-Weverything', '-Wno-switch-enum', '-Wno-float-equal', '-Wno-reserved-id-macro', '-Wno-nonportable-system-include-path', '-Wno-assign-enum', '-Wno-bad-function-cast', '-I..', '-I../third_party', '-DGAME_TARGET_DEBUG', '-D_CRT_SECURE_NO_WARNINGS', '-DWIN32_LEAN_AND_MEAN', '-DNOMINMAX', '-DUNICODE']'
[ECC:DEBUG]:[settings_storage.py]:[__load_vars_from_settings]:[Dummy-5]: force_unix_includes        <-- 'True'
[ECC:DEBUG]:[settings_storage.py]:[__load_vars_from_settings]:[Dummy-5]: Settings sucessfully read...
[ECC:DEBUG]:[file.py]:[expand_all]:[Dummy-5]: Populated 'C:/Program Files/LLVM/bin/clang.exe' to '['C:\\Program Files\\LLVM\\bin\\clang.exe']'
[ECC:INFO]:[clang_utils.py]:[get_clang_version_str]:[Dummy-5]: Getting version from command: `C:\Program Files\LLVM\bin\clang.exe -v`
[ECC:DEBUG]:[settings_storage.py]:[__populate_common_flags]:[Dummy-5]: Populating common_flags with current variables.
[ECC:DEBUG]:[file.py]:[expand_all]:[Dummy-5]: Populated '..' to '['F:\\Projects\\game_prototype']'
[ECC:DEBUG]:[file.py]:[expand_all]:[Dummy-5]: Populated '../third_party' to '['F:\\Projects\\game_prototype\\third_party']'
[ECC:CRITICAL]:[settings_storage.py]:[__populate_flags_source_paths]:[Dummy-5]:  Cannot update paths of flag sources.
[ECC:CRITICAL]:[settings_storage.py]:[update_from_view]:[Dummy-5]: Cannot expand ignore_list
[ECC:CRITICAL]:[settings_storage.py]:[update_from_view]:[Dummy-5]: Cannot expand ignore_flags
[ECC:CRITICAL]:[settings_storage.py]:[update_from_view]:[Dummy-5]: Cannot expand header_to_source_mapping
[ECC:DEBUG]:[settings_manager.py]:[__init_for_view]:[Dummy-5]: settings initialized for view: 36
[ECC:DEBUG]:[EasyClangComplete.py]:[on_activated_async]:[Dummy-5]: on_activated_async view id 36
[ECC:DEBUG]:[view_config_manager.py]:[load_for_view]:[Thread-9]: Generate new config for path: 36
[ECC:INFO]:[view_config.py]:[__init_completer]:[Thread-9]: init completer based on libclang
[ECC:DEBUG]:[lib_complete.py]:[__init__]:[Thread-9]: using bundled cindex: EasyClangComplete.plugin.clang.cindex50
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: Platform: Windows, ('64bit', 'WindowsPE')
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: Python version: 3.3.6
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: User provided libclang_path: '<some_path_here>'
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: Searching for: 'libclang.dll'
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: Generating search folder
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: Libclang search output = 'C:\Program Files\LLVM\bin\clang'
[ECC:DEBUG]:[clang_utils.py]:[dir_from_output]:[Thread-9]: Real output: C:\Program Files\LLVM\bin\clang
[ECC:DEBUG]:[clang_utils.py]:[dir_from_output]:[Thread-9]: Architecture: ('64bit', 'WindowsPE')
[ECC:DEBUG]:[clang_utils.py]:[dir_from_output]:[Thread-9]: Folder to search: C:\Program Files\LLVM\bin\clang\..
[ECC:DEBUG]:[clang_utils.py]:[find_libclang]:[Thread-9]: Checking path: C:\Program Files\LLVM\bin\libclang.dll
[ECC:INFO]:[clang_utils.py]:[find_libclang]:[Thread-9]: Found libclang library file: 'C:\Program Files\LLVM\bin\libclang.dll'
[ECC:DEBUG]:[view_config.py]:[__get_default_flags]:[Thread-9]: Tokeninzing default flags
[ECC:DEBUG]:[flag.py]:[tokenize_list]:[Thread-9]: Tokenizing: ['-x', 'c', '-std=c99']
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Common
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Source
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Merge
[ECC:DEBUG]:[view_config.py]:[__merge_flags]:[Thread-9]: lang flags: [(-x c), (-std=c99)]
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Appending and filtering flags with ignore patterns: []
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: view is 36
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: translation unit does not exist. Creating.
[ECC:DEBUG]:[lib_complete.py]:[parse_tu]:[Thread-9]: clang flags are: ['-c', '-fsyntax-only', '-x', 'c', '-std=c99', '-Werror', '-Weverything', '-Wno-switch-enum', '-Wno-float-equal', '-Wno-reserved-id-macro', '-Wno-nonportable-system-include-path', '-Wno-assign-enum', '-Wno-bad-function-cast', '-I', 'F:\\Projects\\game_prototype', '-I', 'F:\\Projects\\game_prototype\\third_party', '-DGAME_TARGET_DEBUG', '-D_CRT_SECURE_NO_WARNINGS', '-DWIN32_LEAN_AND_MEAN', '-DNOMINMAX', '-DUNICODE']
[ECC:DEBUG]:[lib_complete.py]:[parse_tu]:[Thread-9]: compilation started for view id: 36
[ECC:DEBUG]:[lib_complete.py]:[parse_tu]:[Thread-9]: compilation done in 0.01709890365600586 seconds
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: reparsing translation_unit for view 36
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: reparsed in 0.0039899349212646484 seconds
[ECC:DEBUG]:[popup_error_vis.py]:[generate]:[Thread-9]: Generating error regions for view 36
[ECC:DEBUG]:[popup_error_vis.py]:[generate]:[Thread-9]: 1 error regions ready
[ECC:DEBUG]:[popup_error_vis.py]:[show_errors]:[Thread-9]: Showing error regions: [(116, 119), (60, 64), (73, 77)]
[ECC:DEBUG]:[popup_error_vis.py]:[show_errors]:[Thread-9]: Showing warning regions: []
[ECC:DEBUG]:[EasyClangComplete.py]:[config_updated]:[Thread-9]: updated config: <EasyClangComplete.plugin.view_config.view_config.ViewConfig object at 0x0000018AC4D72BA8>
[ECC:DEBUG]:[subl_bridge.py]:[is_valid_view]:[Dummy-5]: view file_name is None
[ECC:DEBUG]:[EasyClangComplete.py]:[on_activated_async]:[Dummy-5]: on_activated_async view id 36
[ECC:DEBUG]:[view_config_manager.py]:[load_for_view]:[Thread-9]: Config exists for path: 36
[ECC:INFO]:[view_config.py]:[__init_completer]:[Thread-9]: init completer based on libclang
[ECC:DEBUG]:[lib_complete.py]:[__init__]:[Thread-9]: using bundled cindex: EasyClangComplete.plugin.clang.cindex50
[ECC:DEBUG]:[view_config.py]:[__get_default_flags]:[Thread-9]: Tokeninzing default flags
[ECC:DEBUG]:[flag.py]:[tokenize_list]:[Thread-9]: Tokenizing: ['-x', 'c', '-std=c99']
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Common
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Source
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Merge
[ECC:DEBUG]:[view_config.py]:[__merge_flags]:[Thread-9]: lang flags: [(-x c), (-std=c99)]
[ECC:DEBUG]:[view_config.py]:[__generate_essentials]:[Thread-9]: Appending and filtering flags with ignore patterns: []
[ECC:DEBUG]:[view_config.py]:[needs_update]:[Thread-9]: view config needs no update.
[ECC:DEBUG]:[file.py]:[is_unchanged]:[Thread-9]: never seen file 'F:\Projects\game_prototype\prototype\test.c' before. Updating.
[ECC:DEBUG]:[view_config.py]:[update_if_needed]:[Thread-9]: config updates existing completer.
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: view is 36
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: reparsing translation_unit for view 36
[ECC:DEBUG]:[view_config_manager.py]:[get_from_cache]:[Dummy-5]: config exists for view: 36
[ECC:DEBUG]:[view_config_manager.py]:[get_from_cache]:[Dummy-5]: config: <EasyClangComplete.plugin.view_config.view_config.ViewConfig object at 0x0000018AC4D72BA8>
[ECC:DEBUG]:[popup_error_vis.py]:[show_popup_if_needed]:[Dummy-5]: No error regions for row: 7
[ECC:DEBUG]:[lib_complete.py]:[update]:[Thread-9]: reparsed in 0.0030019283294677734 seconds
[ECC:DEBUG]:[popup_error_vis.py]:[generate]:[Thread-9]: Generating error regions for view 36
[ECC:DEBUG]:[popup_error_vis.py]:[generate]:[Thread-9]: Removing old error regions
[ECC:DEBUG]:[popup_error_vis.py]:[generate]:[Thread-9]: 1 error regions ready
[ECC:DEBUG]:[popup_error_vis.py]:[show_errors]:[Thread-9]: Showing error regions: [(116, 119), (60, 64), (73, 77)]
[ECC:DEBUG]:[popup_error_vis.py]:[show_errors]:[Thread-9]: Showing warning regions: []
[ECC:DEBUG]:[EasyClangComplete.py]:[config_updated]:[Thread-9]: updated config: <EasyClangComplete.plugin.view_config.view_config.ViewConfig object at 0x0000018AC4D72BA8>
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: on_query_completions view id 36
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: prefix: , locations: [115]
[ECC:DEBUG]:[subl_bridge.py]:[get_pos_status]:[MainThread]: matched trigger '.'.
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: this position has identifier: '(36, 115)'
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: starting async auto_complete with id: (36, 115)
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: hiding default completions
[ECC:DEBUG]:[view_config_manager.py]:[get_from_cache]:[Thread-9]: config exists for view: 36
[ECC:DEBUG]:[view_config_manager.py]:[get_from_cache]:[Thread-9]: config: <EasyClangComplete.plugin.view_config.view_config.ViewConfig object at 0x0000018AC4D72BA8>
[ECC:DEBUG]:[lib_complete.py]:[complete]:[Thread-9]: started code complete for view 36
[ECC:DEBUG]:[lib_complete.py]:[complete]:[Thread-9]: using older version of clang: 10.0.0
[ECC:DEBUG]:[lib_complete.py]:[complete]:[Thread-9]: code complete done in 0.0019979476928710938 seconds
[ECC:DEBUG]:[lib_complete.py]:[complete]:[Thread-9]: Current trigger: '	.'
[ECC:DEBUG]:[lib_complete.py]:[complete]:[Thread-9]: Current sanitized_trigger: '	.'
[ECC:DEBUG]:[lib_complete.py]:[complete]:[Thread-9]: completions: [['argc\tint argc', 'argc'], ['argv\tchar ** argv', 'argv'], ['structure\tstruct Struct structure', 'structure'], ['typedef\ttypedef type name;', 'typedef ${1:type} ${2:name};'], ['return\treturn expression;', 'return ${1:expression};'], ['goto\tgoto label;', 'goto ${1:label};'], ['using namespace\tusing namespace identifier;', 'using namespace ${1:identifier};'], ['extern\textern', 'extern'], ['static\tstatic', 'static'], ['sizeof\tsize_t sizeof(expression-or-type)', 'sizeof(${1:expression-or-type})'], ['short\tshort', 'short'], ['long\tlong', 'long'], ['signed\tsigned', 'signed'], ['unsigned\tunsigned', 'unsigned'], ['void\tvoid', 'void'], ['char\tchar', 'char'], ['int\tint', 'int'], ['float\tfloat', 'float'], ['double\tdouble', 'double'], ['enum\tenum', 'enum'], ['struct\tstruct', 'struct'], ['union\tunion', 'union'], ['const\tconst', 'const'], ['volatile\tvolatile', 'volatile'], ['_Complex\t_Complex', '_Complex'], ['_Imaginary\t_Imaginary', '_Imaginary'], ['_Bool\t_Bool', '_Bool'], ['restrict\trestrict', 'restrict'], ['__auto_type\t__auto_type', '__auto_type'], ['_Nonnull\t_Nonnull', '_Nonnull'], ['_Null_unspecified\t_Null_unspecified', '_Null_unspecified'], ['_Nullable\t_Nullable', '_Nullable'], ['size_t\tsize_t', 'size_t'], ['main\tint main(int argc, char **argv)', 'main(${1:int argc}, ${2:char **argv})'], ['__PRETTY_FUNCTION__\t__PRETTY_FUNCTION__', '__PRETTY_FUNCTION__'], ['__FUNCTION__\t__FUNCTION__', '__FUNCTION__'], ['__func__\t__func__', '__func__'], ['__INTPTR_FMTd__\t__INTPTR_FMTd__', '__INTPTR_FMTd__'], ['__INT8_FMTd__\t__INT8_FMTd__', '__INT8_FMTd__'], ['__INTPTR_TYPE__\t__INTPTR_TYPE__', '__INTPTR_TYPE__'], ['__INTPTR_WIDTH__\t__INTPTR_WIDTH__', '__INTPTR_WIDTH__'], ['__INT8_C_SUFFIX__\t__INT8_C_SUFFIX__', '__INT8_C_SUFFIX__'], ['__INT8_TYPE__\t__INT8_TYPE__', '__INT8_TYPE__'], ['__INTPTR_FMTi__\t__INTPTR_FMTi__', '__INTPTR_FMTi__'], ['__INT8_FMTi__\t__INT8_FMTi__', '__INT8_FMTi__'], ['__SIZE_FMTo__\t__SIZE_FMTo__', '__SIZE_FMTo__'], ['__BIGGEST_ALIGNMENT__\t__BIGGEST_ALIGNMENT__', '__BIGGEST_ALIGNMENT__'], ['__SIZE_TYPE__\t__SIZE_TYPE__', '__SIZE_TYPE__'], ['__CLANG_ATOMIC_WCHAR_T_LOCK_FREE\t__CLANG_ATOMIC_WCHAR_T_LOCK_FREE', '__CLANG_ATOMIC_WCHAR_T_LOCK_FREE'], ['__POINTER_WIDTH__\t__POINTER_WIDTH__', '__POINTER_WIDTH__'], ['__CLANG_ATOMIC_SHORT_LOCK_FREE\t__CLANG_ATOMIC_SHORT_LOCK_FREE', '__CLANG_ATOMIC_SHORT_LOCK_FREE'], ['__SIZE_FMTX__\t__SIZE_FMTX__', '__SIZE_FMTX__'], ['__WINT_UNSIGNED__\t__WINT_UNSIGNED__', '__WINT_UNSIGNED__'], ['__SIZE_FMTu__\t__SIZE_FMTu__', '__SIZE_FMTu__'], ['__SIZE_FMTx__\t__SIZE_FMTx__', '__SIZE_FMTx__'], ['__WCHAR_UNSIGNED__\t__WCHAR_UNSIGNED__', '__WCHAR_UNSIGNED__'], ['__UINTMAX_FMTX__\t__UINTMAX_FMTX__', '__UINTMAX_FMTX__'], ['__LDBL_MIN_10_EXP__\t__LDBL_MIN_10_EXP__', '__LDBL_MIN_10_EXP__'], ['__UINTMAX_FMTx__\t__UINTMAX_FMTx__', '__UINTMAX_FMTx__'], ['__LDBL_MAX_EXP__\t__LDBL_MAX_EXP__', '__LDBL_MAX_EXP__'], ['__INT_LEAST32_FMTi__\t__INT_LEAST32_FMTi__', '__INT_LEAST32_FMTi__'], ['__LDBL_MAX__\t__LDBL_MAX__', '__LDBL_MAX__'], ['__INT_LEAST32_FMTd__\t__INT_LEAST32_FMTd__', '__INT_LEAST32_FMTd__'], ['__INTMAX_WIDTH__\t__INTMAX_WIDTH__', '__INTMAX_WIDTH__'], ['__UINTMAX_C_SUFFIX__\t__UINTMAX_C_SUFFIX__', '__UINTMAX_C_SUFFIX__'], ['__LDBL_MIN__\t__LDBL_MIN__', '__LDBL_MIN__'], ['__LDBL_MIN_EXP__\t__LDBL_MIN_EXP__', '__LDBL_MIN_EXP__'], ['__LDBL_HAS_QUIET_NAN__\t__LDBL_HAS_QUIET_NAN__', '__LDBL_HAS_QUIET_NAN__'], ['__UINT_LEAST32_TYPE__\t__UINT_LEAST32_TYPE__', '__UINT_LEAST32_TYPE__'], ['__PTRDIFF_FMTd__\t__PTRDIFF_FMTd__', '__PTRDIFF_FMTd__'], ['__LDBL_HAS_INFINITY__\t__LDBL_HAS_INFINITY__', '__LDBL_HAS_INFINITY__'], ['__PTRDIFF_TYPE__\t__PTRDIFF_TYPE__', '__PTRDIFF_TYPE__'], ['__LDBL_MAX_10_EXP__\t__LDBL_MAX_10_EXP__', '__LDBL_MAX_10_EXP__'], ['__PTRDIFF_WIDTH__\t__PTRDIFF_WIDTH__', '__PTRDIFF_WIDTH__'], ['__LDBL_MANT_DIG__\t__LDBL_MANT_DIG__', '__LDBL_MANT_DIG__'], ['__PTRDIFF_FMTi__\t__PTRDIFF_FMTi__', '__PTRDIFF_FMTi__'], ['__UINT_LEAST16_MAX__\t__UINT_LEAST16_MAX__', '__UINT_LEAST16_MAX__'], ['__UINT_FAST64_FMTo__\t__UINT_FAST64_FMTo__', '__UINT_FAST64_FMTo__'], ['__UINT_LEAST16_TYPE__\t__UINT_LEAST16_TYPE__', '__UINT_LEAST16_TYPE__'], ['__UINT_FAST64_MAX__\t__UINT_FAST64_MAX__', '__UINT_FAST64_MAX__'], ['__UINT_LEAST16_FMTu__\t__UINT_LEAST16_FMTu__', '__UINT_LEAST16_FMTu__'], ['__UINT_FAST64_FMTx__\t__UINT_FAST64_FMTx__', '__UINT_FAST64_FMTx__'], ['__UINT_LEAST16_FMTo__\t__UINT_LEAST16_FMTo__', '__UINT_LEAST16_FMTo__'], ['__UINT_FAST64_FMTu__\t__UINT_FAST64_FMTu__', '__UINT_FAST64_FMTu__'], ['__UINT_LEAST16_FMTX__\t__UINT_LEAST16_FMTX__', '__UINT_LEAST16_FMTX__'], ['__INT_FAST64_FMTd__\t__INT_FAST64_FMTd__', '__INT_FAST64_FMTd__'], ['__UINT_LEAST16_FMTx__\t__UINT_LEAST16_FMTx__', '__UINT_LEAST16_FMTx__'], ['__INT_FAST64_MAX__\t__INT_FAST64_MAX__', '__INT_FAST64_MAX__'], ['__INT_LEAST32_MAX__\t__INT_LEAST32_MAX__', '__INT_LEAST32_MAX__'], ['__UINT_FAST64_TYPE__\t__UINT_FAST64_TYPE__', '__UINT_FAST64_TYPE__'], ['__INT_LEAST32_TYPE__\t__INT_LEAST32_TYPE__', '__INT_LEAST32_TYPE__'], ['__INT_FAST64_FMTi__\t__INT_FAST64_FMTi__', '__INT_FAST64_FMTi__'], ['__UINT_LEAST8_FMTu__\t__UINT_LEAST8_FMTu__', '__UINT_LEAST8_FMTu__'], ['__CLANG_ATOMIC_CHAR_LOCK_FREE\t__CLANG_ATOMIC_CHAR_LOCK_FREE', '__CLANG_ATOMIC_CHAR_LOCK_FREE'], ['__SIZE_WIDTH__\t__SIZE_WIDTH__', '__SIZE_WIDTH__'], ['__UINT_LEAST8_FMTo__\t__UINT_LEAST8_FMTo__', '__UINT_LEAST8_FMTo__'], ['__UINT_LEAST8_FMTX__\t__UINT_LEAST8_FMTX__', '__UINT_LEAST8_FMTX__'], ['__CLANG_ATOMIC_CHAR32_T_LOCK_FREE\t__CLANG_ATOMIC_CHAR32_T_LOCK_FREE', '__CLANG_ATOMIC_CHAR32_T_LOCK_FREE'], ['__CLANG_ATOMIC_CHAR16_T_LOCK_FREE\t__CLANG_ATOMIC_CHAR16_T_LOCK_FREE', '__CLANG_ATOMIC_CHAR16_T_LOCK_FREE'], ['__UINT_LEAST8_FMTx__\t__UINT_LEAST8_FMTx__', '__UINT_LEAST8_FMTx__'], ['__INT_LEAST16_MAX__\t__INT_LEAST16_MAX__', '__INT_LEAST16_MAX__'], ['__INT16_FMTd__\t__INT16_FMTd__', '__INT16_FMTd__'], ['__USER_LABEL_PREFIX__\t__USER_LABEL_PREFIX__', '__USER_LABEL_PREFIX__'], ['__INT_LEAST16_TYPE__\t__INT_LEAST16_TYPE__', '__INT_LEAST16_TYPE__'], ['__UINT_FAST64_FMTX__\t__UINT_FAST64_FMTX__', '__UINT_FAST64_FMTX__'], ['__INT16_TYPE__\t__INT16_TYPE__', '__INT16_TYPE__'], ['__INT_LEAST16_FMTi__\t__INT_LEAST16_FMTi__', '__INT_LEAST16_FMTi__'], ['__CLANG_ATOMIC_BOOL_LOCK_FREE\t__CLANG_ATOMIC_BOOL_LOCK_FREE', '__CLANG_ATOMIC_BOOL_LOCK_FREE'], ['__INT_LEAST16_FMTd__\t__INT_LEAST16_FMTd__', '__INT_LEAST16_FMTd__'], ['__FINITE_MATH_ONLY__\t__FINITE_MATH_ONLY__', '__FINITE_MATH_ONLY__'], ['__UINTMAX_MAX__\t__UINTMAX_MAX__', '__UINTMAX_MAX__'], ['__FLT_MIN_EXP__\t__FLT_MIN_EXP__', '__FLT_MIN_EXP__'], ['__FLT_MIN__\t__FLT_MIN__', '__FLT_MIN__'], ['__UINT64_MAX__\t__UINT64_MAX__', '__UINT64_MAX__'], ['__UINT_FAST16_FMTX__\t__UINT_FAST16_FMTX__', '__UINT_FAST16_FMTX__'], ['__PTRDIFF_MAX__\t__PTRDIFF_MAX__', '__PTRDIFF_MAX__'], ['__DBL_DENORM_MIN__\t__DBL_DENORM_MIN__', '__DBL_DENORM_MIN__'], ['__INT64_MAX__\t__INT64_MAX__', '__INT64_MAX__'], ['__INT_FAST32_TYPE__\t__INT_FAST32_TYPE__', '__INT_FAST32_TYPE__'], ['__INTPTR_MAX__\t__INTPTR_MAX__', '__INTPTR_MAX__'], ['__UINTPTR_MAX__\t__UINTPTR_MAX__', '__UINTPTR_MAX__'], ['__DBL_HAS_DENORM__\t__DBL_HAS_DENORM__', '__DBL_HAS_DENORM__'], ['__INT_FAST32_MAX__\t__INT_FAST32_MAX__', '__INT_FAST32_MAX__'], ['__INT_LEAST8_TYPE__\t__INT_LEAST8_TYPE__', '__INT_LEAST8_TYPE__'], ['__SIZEOF_DOUBLE__\t__SIZEOF_DOUBLE__', '__SIZEOF_DOUBLE__'], ['__DBL_DIG__\t__DBL_DIG__', '__DBL_DIG__'], ['__FLT_MAX_10_EXP__\t__FLT_MAX_10_EXP__', '__FLT_MAX_10_EXP__'], ['__INT_LEAST8_MAX__\t__INT_LEAST8_MAX__', '__INT_LEAST8_MAX__'], ['__SIZEOF_FLOAT__\t__SIZEOF_FLOAT__', '__SIZEOF_FLOAT__'], ['__INT_LEAST8_FMTd__\t__INT_LEAST8_FMTd__', '__INT_LEAST8_FMTd__'], ['__FLT_MAX_EXP__\t__FLT_MAX_EXP__', '__FLT_MAX_EXP__'], ['__UINT_FAST16_FMTo__\t__UINT_FAST16_FMTo__', '__UINT_FAST16_FMTo__'], ['__SIZEOF_INT__\t__SIZEOF_INT__', '__SIZEOF_INT__'], ['__INT_LEAST8_FMTi__\t__INT_LEAST8_FMTi__', '__INT_LEAST8_FMTi__'], ['__FLT_MAX__\t__FLT_MAX__', '__FLT_MAX__'], ['__UINT_LEAST8_TYPE__\t__UINT_LEAST8_TYPE__', '__UINT_LEAST8_TYPE__'], ['__SIZEOF_LONG__\t__SIZEOF_LONG__', '__SIZEOF_LONG__'], ['__UINT_FAST16_FMTu__\t__UINT_FAST16_FMTu__', '__UINT_FAST16_FMTu__'], ['__FLT_MIN_10_EXP__\t__FLT_MIN_10_EXP__', '__FLT_MIN_10_EXP__'], ['__UINT_LEAST8_MAX__\t__UINT_LEAST8_MAX__', '__UINT_LEAST8_MAX__'], ['__SIZEOF_LONG_DOUBLE__\t__SIZEOF_LONG_DOUBLE__', '__SIZEOF_LONG_DOUBLE__'], ['__UINT_FAST16_MAX__\t__UINT_FAST16_MAX__', '__UINT_FAST16_MAX__'], ['__SCHAR_MAX__\t__SCHAR_MAX__', '__SCHAR_MAX__'], ['__FLT_EPSILON__\t__FLT_EPSILON__', '__FLT_EPSILON__'], ['__UINT_FAST16_FMTx__\t__UINT_FAST16_FMTx__', '__UINT_FAST16_FMTx__'], ['__SHRT_MAX__\t__SHRT_MAX__', '__SHRT_MAX__'], ['__FLT_HAS_INFINITY__\t__FLT_HAS_INFINITY__', '__FLT_HAS_INFINITY__'], ['__UINT_FAST32_FMTu__\t__UINT_FAST32_FMTu__', '__UINT_FAST32_FMTu__'], ['__UINT32_MAX__\t__UINT32_MAX__', '__UINT32_MAX__'], ['__INT_MAX__\t__INT_MAX__', '__INT_MAX__'], ['__FLT_HAS_QUIET_NAN__\t__FLT_HAS_QUIET_NAN__', '__FLT_HAS_QUIET_NAN__'], ['__INT32_MAX__\t__INT32_MAX__', '__INT32_MAX__'], ['__LONG_MAX__\t__LONG_MAX__', '__LONG_MAX__'], ['__INT_FAST64_TYPE__\t__INT_FAST64_TYPE__', '__INT_FAST64_TYPE__'], ['__FLT_MANT_DIG__\t__FLT_MANT_DIG__', '__FLT_MANT_DIG__'], ['__UINT64_TYPE__\t__UINT64_TYPE__', '__UINT64_TYPE__'], ['__LONG_LONG_MAX__\t__LONG_LONG_MAX__', '__LONG_LONG_MAX__'], ['__UINT64_FMTo__\t__UINT64_FMTo__', '__UINT64_FMTo__'], ['__UINT64_FMTu__\t__UINT64_FMTu__', '__UINT64_FMTu__'], ['__FLT_DENORM_MIN__\t__FLT_DENORM_MIN__', '__FLT_DENORM_MIN__'], ['__WCHAR_MAX__\t__WCHAR_MAX__', '__WCHAR_MAX__'], ['__UINT64_FMTx__\t__UINT64_FMTx__', '__UINT64_FMTx__'], ['__UINT_FAST32_TYPE__\t__UINT_FAST32_TYPE__', '__UINT_FAST32_TYPE__'], ['__WINT_MAX__\t__WINT_MAX__', '__WINT_MAX__'], ['__FLT_HAS_DENORM__\t__FLT_HAS_DENORM__', '__FLT_HAS_DENORM__'], ['__UINT64_FMTX__\t__UINT64_FMTX__', '__UINT64_FMTX__'], ['__UINT_FAST32_MAX__\t__UINT_FAST32_MAX__', '__UINT_FAST32_MAX__'], ['__INTMAX_MAX__\t__INTMAX_MAX__', '__INTMAX_MAX__'], ['__FLT_DIG__\t__FLT_DIG__', '__FLT_DIG__'], ['__UINT64_C_SUFFIX__\t__UINT64_C_SUFFIX__', '__UINT64_C_SUFFIX__'], ['__SIZE_MAX__\t__SIZE_MAX__', '__SIZE_MAX__'], ['__FLT_DECIMAL_DIG__\t__FLT_DECIMAL_DIG__', '__FLT_DECIMAL_DIG__'], ['__INT_FAST32_FMTi__\t__INT_FAST32_FMTi__', '__INT_FAST32_FMTi__'], ['__UINT_FAST32_FMTx__\t__UINT_FAST32_FMTx__', '__UINT_FAST32_FMTx__'], ['__INTMAX_TYPE__\t__INTMAX_TYPE__', '__INTMAX_TYPE__'], ['__UINT_FAST32_FMTo__\t__UINT_FAST32_FMTo__', '__UINT_FAST32_FMTo__'], ['__ATOMIC_CONSUME\t__ATOMIC_CONSUME', '__ATOMIC_CONSUME'], ['__LDBL_HAS_DENORM__\t__LDBL_HAS_DENORM__', '__LDBL_HAS_DENORM__'], ['__UINT16_MAX__\t__UINT16_MAX__', '__UINT16_MAX__'], ['__INTMAX_FMTd__\t__INTMAX_FMTd__', '__INTMAX_FMTd__'], ['__ATOMIC_RELAXED\t__ATOMIC_RELAXED', '__ATOMIC_RELAXED'], ['__LDBL_DIG__\t__LDBL_DIG__', '__LDBL_DIG__'], ['__UINT16_C_SUFFIX__\t__UINT16_C_SUFFIX__', '__UINT16_C_SUFFIX__'], ['__INTMAX_FMTi__\t__INTMAX_FMTi__', '__INTMAX_FMTi__'], ['__ATOMIC_RELEASE\t__ATOMIC_RELEASE', '__ATOMIC_RELEASE'], ['__LDBL_DECIMAL_DIG__\t__LDBL_DECIMAL_DIG__', '__LDBL_DECIMAL_DIG__'], ['__UINT32_TYPE__\t__UINT32_TYPE__', '__UINT32_TYPE__'], ['__INTMAX_C_SUFFIX__\t__INTMAX_C_SUFFIX__', '__INTMAX_C_SUFFIX__'], ['__ATOMIC_ACQUIRE\t__ATOMIC_ACQUIRE', '__ATOMIC_ACQUIRE'], ['__LDBL_EPSILON__\t__LDBL_EPSILON__', '__LDBL_EPSILON__'], ['__UINT32_FMTo__\t__UINT32_FMTo__', '__UINT32_FMTo__'], ['__DBL_MIN_10_EXP__\t__DBL_MIN_10_EXP__', '__DBL_MIN_10_EXP__'], ['__ATOMIC_SEQ_CST\t__ATOMIC_SEQ_CST', '__ATOMIC_SEQ_CST'], ['__UINT_LEAST64_FMTX__\t__UINT_LEAST64_FMTX__', '__UINT_LEAST64_FMTX__'], ['__UINT32_FMTu__\t__UINT32_FMTu__', '__UINT32_FMTu__'], ['__DBL_MIN_EXP__\t__DBL_MIN_EXP__', '__DBL_MIN_EXP__'], ['__ATOMIC_ACQ_REL\t__ATOMIC_ACQ_REL', '__ATOMIC_ACQ_REL'], ['__UINTMAX_TYPE__\t__UINTMAX_TYPE__', '__UINTMAX_TYPE__'], ['__UINT32_FMTx__\t__UINT32_FMTx__', '__UINT32_FMTx__'], ['__INT_FAST8_TYPE__\t__INT_FAST8_TYPE__', '__INT_FAST8_TYPE__'], ['__UINTMAX_FMTo__\t__UINTMAX_FMTo__', '__UINTMAX_FMTo__'], ['__DBL_MIN__\t__DBL_MIN__', '__DBL_MIN__'], ['__INT16_MAX__\t__INT16_MAX__', '__INT16_MAX__'], ['__OPENCL_MEMORY_SCOPE_WORK_ITEM\t__OPENCL_MEMORY_SCOPE_WORK_ITEM', '__OPENCL_MEMORY_SCOPE_WORK_ITEM'], ['__UINTMAX_FMTu__\t__UINTMAX_FMTu__', '__UINTMAX_FMTu__'], ['__SIZEOF_LONG_LONG__\t__SIZEOF_LONG_LONG__', '__SIZEOF_LONG_LONG__'], ['__DBL_MANT_DIG__\t__DBL_MANT_DIG__', '__DBL_MANT_DIG__'], ['__LDBL_DENORM_MIN__\t__LDBL_DENORM_MIN__', '__LDBL_DENORM_MIN__'], ['__UINT_FAST8_TYPE__\t__UINT_FAST8_TYPE__', '__UINT_FAST8_TYPE__'], ['__SIZEOF_POINTER__\t__SIZEOF_POINTER__', '__SIZEOF_POINTER__'], ['__DBL_MAX_10_EXP__\t__DBL_MAX_10_EXP__', '__DBL_MAX_10_EXP__'], ['__UINT8_C_SUFFIX__\t__UINT8_C_SUFFIX__', '__UINT8_C_SUFFIX__'], ['__UINT8_FMTX__\t__UINT8_FMTX__', '__UINT8_FMTX__'], ['__SIZEOF_SHORT__\t__SIZEOF_SHORT__', '__SIZEOF_SHORT__'], ['__llvm__\t__llvm__', '__llvm__'], ['__UINT8_MAX__\t__UINT8_MAX__', '__UINT8_MAX__'], ['__clang__\t__clang__', '__clang__'], ['__SIZEOF_PTRDIFF_T__\t__SIZEOF_PTRDIFF_T__', '__SIZEOF_PTRDIFF_T__'], ['__INT8_MAX__\t__INT8_MAX__', '__INT8_MAX__'], ['__DBL_MAX_EXP__\t__DBL_MAX_EXP__', '__DBL_MAX_EXP__'], ['__DBL_MAX__\t__DBL_MAX__', '__DBL_MAX__'], ['__SIZEOF_SIZE_T__\t__SIZEOF_SIZE_T__', '__SIZEOF_SIZE_T__'], ['__DBL_DECIMAL_DIG__\t__DBL_DECIMAL_DIG__', '__DBL_DECIMAL_DIG__'], ['__clang_minor__\t__clang_minor__', '__clang_minor__'], ['__UINT16_TYPE__\t__UINT16_TYPE__', '__UINT16_TYPE__'], ['__SIZEOF_WCHAR_T__\t__SIZEOF_WCHAR_T__', '__SIZEOF_WCHAR_T__'], ['__DBL_EPSILON__\t__DBL_EPSILON__', '__DBL_EPSILON__'], ['__UINT16_FMTo__\t__UINT16_FMTo__', '__UINT16_FMTo__'], ['__clang_major__\t__clang_major__', '__clang_major__'], ['__SIZEOF_WINT_T__\t__SIZEOF_WINT_T__', '__SIZEOF_WINT_T__'], ['__DBL_HAS_INFINITY__\t__DBL_HAS_INFINITY__', '__DBL_HAS_INFINITY__'], ['__clang_version__\t__clang_version__', '__clang_version__'], ['__UINT16_FMTx__\t__UINT16_FMTx__', '__UINT16_FMTx__'], ['__SIZEOF_INT128__\t__SIZEOF_INT128__', '__SIZEOF_INT128__'], ['__DBL_HAS_QUIET_NAN__\t__DBL_HAS_QUIET_NAN__', '__DBL_HAS_QUIET_NAN__'], ['__clang_patchlevel__\t__clang_patchlevel__', '__clang_patchlevel__'], ['__UINT16_FMTX__\t__UINT16_FMTX__', '__UINT16_FMTX__'], ['__UINT_FAST8_FMTx__\t__UINT_FAST8_FMTx__', '__UINT_FAST8_FMTx__'], ['__is_target_os\t__is_target_os', '__is_target_os'], ['__is_target_vendor\t__is_target_vendor', '__is_target_vendor'], ['__INT32_FMTi__\t__INT32_FMTi__', '__INT32_FMTi__'], ['__INT32_FMTd__\t__INT32_FMTd__', '__INT32_FMTd__'], ['__is_target_environment\t__is_target_environment', '__is_target_environment'], ['__UINT16_FMTu__\t__UINT16_FMTu__', '__UINT16_FMTu__'], ['__UINT_LEAST32_FMTo__\t__UINT_LEAST32_FMTo__', '__UINT_LEAST32_FMTo__'], ['__INT32_TYPE__\t__INT32_TYPE__', '__INT32_TYPE__'], ['__UINT_FAST8_FMTX__\t__UINT_FAST8_FMTX__', '__UINT_FAST8_FMTX__'], ['__is_identifier\t__is_identifier', '__is_identifier'], ['__UINT_LEAST32_MAX__\t__UINT_LEAST32_MAX__', '__UINT_LEAST32_MAX__'], ['__UINT32_C_SUFFIX__\t__UINT32_C_SUFFIX__', '__UINT32_C_SUFFIX__'], ['__INT16_C_SUFFIX__\t__INT16_C_SUFFIX__', '__INT16_C_SUFFIX__'], ['__is_target_arch\t__is_target_arch', '__is_target_arch'], ['__INT_FAST16_MAX__\t__INT_FAST16_MAX__', '__INT_FAST16_MAX__'], ['_WIN32\t_WIN32', '_WIN32'], ['__INT16_FMTi__\t__INT16_FMTi__', '__INT16_FMTi__'], ['__UINT32_FMTX__\t__UINT32_FMTX__', '__UINT32_FMTX__'], ['__has_include_next\t__has_include_next', '__has_include_next'], ['__INT_LEAST64_TYPE__\t__INT_LEAST64_TYPE__', '__INT_LEAST64_TYPE__'], ['__UINT_LEAST32_FMTX__\t__UINT_LEAST32_FMTX__', '__UINT_LEAST32_FMTX__'], ['__has_warning\t__has_warning', '__has_warning'], ['__INT_FAST16_FMTi__\t__INT_FAST16_FMTi__', '__INT_FAST16_FMTi__'], ['__DECIMAL_DIG__\t__DECIMAL_DIG__', '__DECIMAL_DIG__'], ['__UINT_LEAST32_FMTx__\t__UINT_LEAST32_FMTx__', '__UINT_LEAST32_FMTx__'], ['__INT_FAST16_TYPE__\t__INT_FAST16_TYPE__', '__INT_FAST16_TYPE__'], ['__has_declspec_attribute\t__has_declspec_attribute', '__has_declspec_attribute'], ['__CLANG_ATOMIC_LLONG_LOCK_FREE\t__CLANG_ATOMIC_LLONG_LOCK_FREE', '__CLANG_ATOMIC_LLONG_LOCK_FREE'], ['__UINT_LEAST32_FMTu__\t__UINT_LEAST32_FMTu__', '__UINT_LEAST32_FMTu__'], ['__INT_FAST8_FMTi__\t__INT_FAST8_FMTi__', '__INT_FAST8_FMTi__'], ['__has_include\t__has_include', '__has_include'], ['__UINT_LEAST64_TYPE__\t__UINT_LEAST64_TYPE__', '__UINT_LEAST64_TYPE__'], ['__UINT8_FMTx__\t__UINT8_FMTx__', '__UINT8_FMTx__'], ['__CLANG_ATOMIC_POINTER_LOCK_FREE\t__CLANG_ATOMIC_POINTER_LOCK_FREE', '__CLANG_ATOMIC_POINTER_LOCK_FREE'], ['__CLANG_ATOMIC_LONG_LOCK_FREE\t__CLANG_ATOMIC_LONG_LOCK_FREE', '__CLANG_ATOMIC_LONG_LOCK_FREE'], ['__INT_LEAST64_FMTi__\t__INT_LEAST64_FMTi__', '__INT_LEAST64_FMTi__'], ['__UINT8_FMTu__\t__UINT8_FMTu__', '__UINT8_FMTu__'], ['__UINT_FAST8_MAX__\t__UINT_FAST8_MAX__', '__UINT_FAST8_MAX__'], ['__NO_INLINE__\t__NO_INLINE__', '__NO_INLINE__'], ['__UINT8_FMTo__\t__UINT8_FMTo__', '__UINT8_FMTo__'], ['__INT_LEAST64_FMTd__\t__INT_LEAST64_FMTd__', '__INT_LEAST64_FMTd__'], ['__UINT_FAST8_FMTo__\t__UINT_FAST8_FMTo__', '__UINT_FAST8_FMTo__'], ['__CLANG_ATOMIC_INT_LOCK_FREE\t__CLANG_ATOMIC_INT_LOCK_FREE', '__CLANG_ATOMIC_INT_LOCK_FREE'], ['__UINT8_TYPE__\t__UINT8_TYPE__', '__UINT8_TYPE__'], ['__INT_LEAST64_MAX__\t__INT_LEAST64_MAX__', '__INT_LEAST64_MAX__'], ['_M_X64\t_M_X64', '_M_X64'], ['__INT64_C_SUFFIX__\t__INT64_C_SUFFIX__', '__INT64_C_SUFFIX__'], ['__UINT_LEAST64_FMTx__\t__UINT_LEAST64_FMTx__', '__UINT_LEAST64_FMTx__'], ['__PIC__\t__PIC__', '__PIC__'], ['__code_model_small_\t__code_model_small_', '__code_model_small_'], ['__INT64_FMTi__\t__INT64_FMTi__', '__INT64_FMTi__'], ['__UINT_LEAST64_FMTu__\t__UINT_LEAST64_FMTu__', '__UINT_LEAST64_FMTu__'], ['_MSC_VER\t_MSC_VER', '_MSC_VER'], ['__INT_FAST8_MAX__\t__INT_FAST8_MAX__', '__INT_FAST8_MAX__'], ['__INT64_FMTd__\t__INT64_FMTd__', '__INT64_FMTd__'], ['__building_module\t__building_module', '__building_module'], ['__UINT_LEAST64_FMTo__\t__UINT_LEAST64_FMTo__', '__UINT_LEAST64_FMTo__'], ['__INT64_TYPE__\t__INT64_TYPE__', '__INT64_TYPE__'], ['__SEG_FS\t__SEG_FS', '__SEG_FS'], ['__UINT_LEAST64_MAX__\t__UINT_LEAST64_MAX__', '__UINT_LEAST64_MAX__'], ['__FLT_RADIX__\t__FLT_RADIX__', '__FLT_RADIX__'], ['__INT32_C_SUFFIX__\t__INT32_C_SUFFIX__', '__INT32_C_SUFFIX__'], ['NOMINMAX\tNOMINMAX', 'NOMINMAX'], ['__VERSION__\t__VERSION__', '__VERSION__'], ['__BASE_FILE__\t__BASE_FILE__', '__BASE_FILE__'], ['__UINTPTR_FMTo__\t__UINTPTR_FMTo__', '__UINTPTR_FMTo__'], ['__seg_gs\t__seg_gs', '__seg_gs'], ['__GCC_ASM_FLAG_OUTPUTS__\t__GCC_ASM_FLAG_OUTPUTS__', '__GCC_ASM_FLAG_OUTPUTS__'], ['__INCLUDE_LEVEL__\t__INCLUDE_LEVEL__', '__INCLUDE_LEVEL__'], ['__PRAGMA_REDEFINE_EXTNAME\t__PRAGMA_REDEFINE_EXTNAME', '__PRAGMA_REDEFINE_EXTNAME'], ['__seg_fs\t__seg_fs', '__seg_fs'], ['__OPENCL_MEMORY_SCOPE_SUB_GROUP\t__OPENCL_MEMORY_SCOPE_SUB_GROUP', '__OPENCL_MEMORY_SCOPE_SUB_GROUP'], ['__UINTMAX_WIDTH__\t__UINTMAX_WIDTH__', '__UINTMAX_WIDTH__'], ['__COUNTER__\t__COUNTER__', '__COUNTER__'], ['__UINTPTR_TYPE__\t__UINTPTR_TYPE__', '__UINTPTR_TYPE__'], ['__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES\t__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES', '__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES'], ['_Pragma\t_Pragma', '_Pragma'], ['__CHAR32_TYPE__\t__CHAR32_TYPE__', '__CHAR32_TYPE__'], ['__INT_FAST16_FMTd__\t__INT_FAST16_FMTd__', '__INT_FAST16_FMTd__'], ['__FILE__\t__FILE__', '__FILE__'], ['__UINTPTR_WIDTH__\t__UINTPTR_WIDTH__', '__UINTPTR_WIDTH__'], ['__x86_64__\t__x86_64__', '__x86_64__'], ['__DATE__\t__DATE__', '__DATE__'], ['__OPENCL_MEMORY_SCOPE_DEVICE\t__OPENCL_MEMORY_SCOPE_DEVICE', '__OPENCL_MEMORY_SCOPE_DEVICE'], ['__UINTPTR_FMTX__\t__UINTPTR_FMTX__', '__UINTPTR_FMTX__'], ['__OPENCL_MEMORY_SCOPE_WORK_GROUP\t__OPENCL_MEMORY_SCOPE_WORK_GROUP', '__OPENCL_MEMORY_SCOPE_WORK_GROUP'], ['__TIME__\t__TIME__', '__TIME__'], ['__NO_MATH_INLINES\t__NO_MATH_INLINES', '__NO_MATH_INLINES'], ['__UINTPTR_FMTx__\t__UINTPTR_FMTx__', '__UINTPTR_FMTx__'], ['__tune_k8__\t__tune_k8__', '__tune_k8__'], ['__UINT_FAST8_FMTu__\t__UINT_FAST8_FMTu__', '__UINT_FAST8_FMTu__'], ['__LINE__\t__LINE__', '__LINE__'], ['__UINTPTR_FMTu__\t__UINTPTR_FMTu__', '__UINTPTR_FMTu__'], ['__FLT_EVAL_METHOD__\t__FLT_EVAL_METHOD__', '__FLT_EVAL_METHOD__'], ['__INT_FAST32_FMTd__\t__INT_FAST32_FMTd__', '__INT_FAST32_FMTd__'], ['__has_attribute\t__has_attribute', '__has_attribute'], ['_MSC_BUILD\t_MSC_BUILD', '_MSC_BUILD'], ['__CHAR_BIT__\t__CHAR_BIT__', '__CHAR_BIT__'], ['__WCHAR_WIDTH__\t__WCHAR_WIDTH__', '__WCHAR_WIDTH__'], ['__has_c_attribute\t__has_c_attribute', '__has_c_attribute'], ['__LITTLE_ENDIAN__\t__LITTLE_ENDIAN__', '__LITTLE_ENDIAN__'], ['__UINT_FAST16_TYPE__\t__UINT_FAST16_TYPE__', '__UINT_FAST16_TYPE__'], ['__WCHAR_TYPE__\t__WCHAR_TYPE__', '__WCHAR_TYPE__'], ['__SSE2_MATH__\t__SSE2_MATH__', '__SSE2_MATH__'], ['__BYTE_ORDER__\t__BYTE_ORDER__', '__BYTE_ORDER__'], ['__amd64\t__amd64', '__amd64'], ['__has_extension\t__has_extension', '__has_extension'], ['__has_builtin\t__has_builtin', '__has_builtin'], ['__ORDER_PDP_ENDIAN__\t__ORDER_PDP_ENDIAN__', '__ORDER_PDP_ENDIAN__'], ['__k8\t__k8', '__k8'], ['__STDC_HOSTED__\t__STDC_HOSTED__', '__STDC_HOSTED__'], ['__REGISTER_PREFIX__\t__REGISTER_PREFIX__', '__REGISTER_PREFIX__'], ['__ORDER_BIG_ENDIAN__\t__ORDER_BIG_ENDIAN__', '__ORDER_BIG_ENDIAN__'], ['__FILE_NAME__\t__FILE_NAME__', '__FILE_NAME__'], ['__MMX__\t__MMX__', '__MMX__'], ['__CHAR16_TYPE__\t__CHAR16_TYPE__', '__CHAR16_TYPE__'], ['__ORDER_LITTLE_ENDIAN__\t__ORDER_LITTLE_ENDIAN__', '__ORDER_LITTLE_ENDIAN__'], ['__SIG_ATOMIC_MAX__\t__SIG_ATOMIC_MAX__', '__SIG_ATOMIC_MAX__'], ['__has_feature\t__has_feature', '__has_feature'], ['__INT_FAST8_FMTd__\t__INT_FAST8_FMTd__', '__INT_FAST8_FMTd__'], ['__TIMESTAMP__\t__TIMESTAMP__', '__TIMESTAMP__'], ['__CONSTANT_CFSTRINGS__\t__CONSTANT_CFSTRINGS__', '__CONSTANT_CFSTRINGS__'], ['__SSE2__\t__SSE2__', '__SSE2__'], ['__SIG_ATOMIC_WIDTH__\t__SIG_ATOMIC_WIDTH__', '__SIG_ATOMIC_WIDTH__'], ['__OBJC_BOOL_IS_BOOL\t__OBJC_BOOL_IS_BOOL', '__OBJC_BOOL_IS_BOOL'], ['__identifier\t__identifier', '__identifier'], ['__pragma\t__pragma', '__pragma'], ['__WINT_WIDTH__\t__WINT_WIDTH__', '__WINT_WIDTH__'], ['__WINT_TYPE__\t__WINT_TYPE__', '__WINT_TYPE__'], ['__pic__\t__pic__', '__pic__'], ['__SEG_GS\t__SEG_GS', '__SEG_GS'], ['__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1\t__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1', '__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1'], ['__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2\t__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2', '__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2'], ['_MSC_FULL_VER\t_MSC_FULL_VER', '_MSC_FULL_VER'], ['WIN32_LEAN_AND_MEAN\tWIN32_LEAN_AND_MEAN', 'WIN32_LEAN_AND_MEAN'], ['__FXSR__\t__FXSR__', '__FXSR__'], ['__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8\t__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8', '__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8'], ['__x86_64\t__x86_64', '__x86_64'], ['__SSE_MATH__\t__SSE_MATH__', '__SSE_MATH__'], ['GAME_TARGET_DEBUG\tGAME_TARGET_DEBUG', 'GAME_TARGET_DEBUG'], ['_MSC_EXTENSIONS\t_MSC_EXTENSIONS', '_MSC_EXTENSIONS'], ['__UINT_FAST32_FMTX__\t__UINT_FAST32_FMTX__', '__UINT_FAST32_FMTX__'], ['_CRT_SECURE_NO_WARNINGS\t_CRT_SECURE_NO_WARNINGS', '_CRT_SECURE_NO_WARNINGS'], ['__amd64__\t__amd64__', '__amd64__'], ['__SSE__\t__SSE__', '__SSE__'], ['_M_AMD64\t_M_AMD64', '_M_AMD64'], ['__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4\t__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4', '__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4'], ['__STDC_UTF_32__\t__STDC_UTF_32__', '__STDC_UTF_32__'], ['__k8__\t__k8__', '__k8__'], ['_WIN64\t_WIN64', '_WIN64'], ['__STDC_UTF_16__\t__STDC_UTF_16__', '__STDC_UTF_16__'], ['_INTEGRAL_MAX_BITS\t_INTEGRAL_MAX_BITS', '_INTEGRAL_MAX_BITS'], ['__STDC_VERSION__\t__STDC_VERSION__', '__STDC_VERSION__'], ['UNICODE\tUNICODE', 'UNICODE']]
[ECC:DEBUG]:[subl_bridge.py]:[show_auto_complete]:[Thread-9]: reload completion tooltip
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: on_query_completions view id 36
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: prefix: , locations: [115]
[ECC:DEBUG]:[subl_bridge.py]:[get_pos_status]:[MainThread]: matched trigger '.'.
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: this position has identifier: '(36, 115)'
[ECC:DEBUG]:[EasyClangComplete.py]:[on_query_completions]:[MainThread]: returning existing completions
[ECC:DEBUG]:[subl_bridge.py]:[format_completions]:[MainThread]: Hiding default completions

P.S.: "use_libclang": false appears to be subpar, as this mode hides lots of compilation errors
image

Could you please provide the log as the issue template nudges you to? Otherwise, there is not much for me to go on. Also, "use_libclang": false is only there for legacy reasons and should generally not be used.

I briefly checked it locally though and it seems to indeed not work. I will try to have a look if this is due to libclang not providing those completions or due to some other issue. If it is libclang then there is not really that much I can do.

Sure, thank you for pointing the style guide out; I've updated the text ๐Ÿ™๐Ÿฝ

Nested initializers are handled in llvm/llvm-project@eb4ab33

I suspect top-level designated initializers will be completed in clang-12, nested in clang-13 (or current main)

Thanks for chiming in @sam-mccall ๐Ÿ™