Permalink
Branch: master
Commits on Feb 11, 2019
  1. Add missing newline character after printing server options

    jomiller authored and cslux committed Feb 6, 2019
Commits on Jan 31, 2019
  1. Do not explicitly validate the project while it's still indexing (#1286)

    jomiller authored and cslux committed Jan 29, 2019
    The explicit project check is invoked while switching the current
    project and through the check timer. If the project is validated while
    it's still loading, then some dependencies may be incorrectly removed,
    because they haven't been fully indexed yet.
    
    The issue can be reproduced by loading two projects with
    --load-compile-commands, and then using --project to switch back and
    forth between the projects while they're loading. Project::validate()
    will output the error message: "Error during validation: <file> doesn't
    exist".
    
    Make the check retry timeout 5 minutes instead of 1 hour
Commits on Jan 27, 2019
  1. Consider all other unsaved files when code completing a given file

    jomiller authored and cslux committed Nov 22, 2018
    If the file being code-completed depends on other unsaved header files,
    then those other headers also need to be reindexed. Otherwise, when
    the file being code-completed is reindexed, the last saved versions of
    those header dependencies will be used.
    
    This change is a work in progress. It introduces some inefficiencies
    that should be optimized:
    - It passes all unsaved files to the completion thread, rather than only
    those that the file being code-completed depends on.
    - It copies and compares UnsavedFiles (std::unordered_map) objects
    several times.
  2. Consider unsaved files when reindexing to recover from #include errors

    jomiller authored and cslux committed Jan 6, 2019
    If unsaved files are not passed to an indexing job for those same files,
    then the last saved versions of the files are used. This change fixes the
    following issue caused by that behavior:
    
    1. An #include error is introduced into a file, and the file is saved
    and reindexed.
    2. The #include error is removed, and the file is reindexed again with
    --reindex --unsaved-file, but not saved again.
    3. After the indexing job has finished, updating dependencies causes the
    file to be reindexed yet again (because the #include error has been
    removed).
    4. The last saved version of the file (still containing the #include
    error) is used when updating dependencies.
  3. Add support to --remove for removing all files in compile_commands.json

    jomiller authored and cslux committed Jan 24, 2019
    Also, remove the files permanently so that they are no longer indexed,
    nor reloaded when rdm is restarted.
    
    A use case for this feature is to remove specific compile_commands.json
    files from projects that contain compile_commands.json.
    "rc --delete-project" removes all compile_commands.json in the project.
    
    Note that "rc --remove compile_commands.json" will remove all
    compile_commands.json in the project, because it works based on pattern
    matching.
Commits on Jan 26, 2019
  1. Support regex matching in the argument to --is-indexing

    jomiller committed Jan 26, 2019
Commits on Jan 5, 2019
  1. Output #include/break/continue/return symbol targets for JSON and Elisp

    jomiller authored and cslux committed Jan 5, 2019
    The targets of #include/break/continue/return symbols do not have a
    valid CXCursorKind,  and so Symbol::isNull() returns true for them. But
    these targets do have a valid location.
    
    This change enables outputting the locations of these targets when using
    --symbol-info-include-targets --json/--elisp.
Commits on Dec 30, 2018
  1. Do not remove characters from the display name of FieldDecl symbols

    jomiller authored and cslux committed Nov 22, 2018
Commits on Dec 28, 2018
  1. Add support to --is-indexing for checking against a single project

    jomiller committed Dec 28, 2018
Commits on Nov 9, 2018
  1. Do not display diagnostics when indexing files in the completion thread

    jomiller authored and cslux committed Nov 8, 2018
Commits on Nov 8, 2018
  1. Do not print an error message for a null symbol that is a file symbol

    jomiller authored and cslux committed Nov 8, 2018
    File symbols are expected to be null.
Commits on Nov 7, 2018
  1. Use --strip-paren to exclude function variables from --find-symbols

    jomiller authored and cslux committed Nov 6, 2018
    When --find-symbols is used with --wildcard-symbol-names, the results
    may include function variables (which do not match the search pattern).
    Using --match-regexp with a lookahead to exclude the ')::' function
    variable signature is very slow.
    
    When --strip-paren is used with --list-symbols, it excludes function
    variables as a side effect.
    This change aligns --find-symbols with that behavior.
Commits on Nov 6, 2018
  1. Make --match-icase apply to --match-regexp

    jomiller authored and cslux committed Nov 5, 2018
Commits on Oct 24, 2018
  1. Make --max option apply to the output from --code-complete-at

    jomiller authored and cslux committed Oct 24, 2018
  2. Handle skipped diagnostic before a new empty entry for it can be adde…

    jomiller authored and cslux committed Oct 22, 2018
    …d to the checkStyle map (operator[] creates a new entry). The empty entries showed up in the output with the message set to "null".