summaryrefslogtreecommitdiff
path: root/editor/editor_vcs_interface.cpp
AgeCommit message (Collapse)Author
2020-04-02Replace NULL with nullptrlupoDharkael
2020-02-05Add do..while(0) wrappers to macros without one.Marcel Admiraal
- Add do..while(0) wrapper to ERR_FAIL_NULL macros. - Add do..while(0) wrapper to ERR_FAIL_COND macros. - Add do..while(0) wrapper to ERR_CONTINUE macros. - Add do..while(0) wrapper to ERR_BREAK macros. - Add do..while(0) wrapper to CRASH_COND macros. - Add do..while(0) wrapper to ERR_FAIL macros. - Add do..while(0) wrapper to ERR_PRINT macros. - Add do..while(0) wrapper to WARN_PRINT macros. - Add do..while(0) wrapper to WARN_DEPRECATED macros. - Add do..while(0) wrapper to CRASH_NOW macros.
2020-01-01Update copyright statements to 2020RĂ©mi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-11-19Editor: fix typo in VCS plugin method namesmerumelu
2019-09-22Changed some code found by Clang Tidy and Coverityqarmin
2019-09-04Add copyright headers to vcs integrationTwarit
2019-09-03Add an overridable VCS Interface for the editorTwarit
The VCS interface can be thought of like a proxy system, where any call to the API is redirected to the actual implementation of the VCS API which may be existing in the form of a GDNative plugin which is marked as a singleton and is not marked reloadable. If the implementation doesn't exist in the file system, it only returns the default responses which contain mostly empty containers of the data type that every API call returns. EditorVCSInterface is used like a Godot object with a script attached to it. The script is the implementation of the API and the object is the interface to the script, which returns default responses if the script doesn't exist or if the script doesn't define a function that handles that particular API call. The entire system has been implemented using Object::call() and its ability to switch to the script instance to handle the API call if the script exists. Look for VersionControlEditorPlugin::_initialize() for the essential API setup.