EditorVCSInterface
Inherits: Object Version Control System (VCS) interface, which reads and writes to the local VCS in use.
Description
EditorVCSInterface and are attached (on demand) to the singleton instance of EditorVCSInterface. Instead of performing the task themselves, all the virtual functions listed below are calling the internally overridden functions in the VCS plugins to provide a plug-n-play experience. A custom VCS plugin is supposed to inherit from EditorVCSInterface and override these virtual functions.
Methods
Enumerations
ChangeType:
- CHANGE_TYPE_NEW = 0 —- A new file has been added.
- CHANGE_TYPE_MODIFIED = 1 —- An earlier added file has been modified.
- CHANGE_TYPE_RENAMED = 2 —- An earlier added file has been renamed.
- CHANGE_TYPE_DELETED = 3 —- An earlier added file has been deleted.
- CHANGE_TYPE_TYPECHANGE = 4 —- An earlier added file has been typechanged.
- CHANGE_TYPE_UNMERGED = 5 —- A file is left unmerged.
TreeArea:
- TREE_AREA_COMMIT = 0 —- A commit is encountered from the commit area.
- TREE_AREA_STAGED = 1 —- A file is encountered from the staged area.
- TREE_AREA_UNSTAGED = 2 —- A file is encountered from the unstaged area.
Method Descriptions
- bool _checkout_branch ( String branch_name ) virtual
branch_namein the VCS.
- _commit ( String msg ) virtual
msgto the resulting commit.
- _create_branch ( String branch_name ) virtual
branch_namein the VCS.
- _create_remote ( String remote_name, String remote_url ) virtual
remote_nameand points it toremote_url. This can be both an HTTPS remote or an SSH remote.
- _discard_file ( String file_path ) virtual
file_path.
- _fetch ( String remote ) virtual
git fetch.
- Array _get_branch_list ( ) virtual Array of Strings containing available branch names in the VCS.
- String _get_current_branch_name ( ) virtual Gets the current branch name defined in the VCS.
- Array _get_diff ( String identifier, int area ) virtual
Array of Dictionary items (see create_diff_file, create_diff_hunk, create_diff_line, add_line_diffs_into_diff_hunk and add_diff_hunks_into_diff_file), each containing information about a diff. If
identifieris a file path, returns a file diff, and if it is a commit identifier, then returns a commit diff.
- Array _get_line_diff ( String file_path, String text ) virtual
Array of Dictionary items (see create_diff_hunk), each containing a line diff between a file at
file_pathand thetextwhich is passed in.
- Array _get_modified_files_data ( ) virtual Array of Dictionary items (see create_status_file), each containing the status data of every modified file in the project folder.
- Array _get_previous_commits ( int max_commits ) virtual Array of Dictionary items (see create_commit), each containing the data for a past commit.
- Array _get_remotes ( ) virtual Array of Strings, each containing the name of a remote configured in the VCS.
- String _get_vcs_name ( ) virtual Returns the name of the underlying VCS provider.
- bool _initialize ( String project_path ) virtual
project_path.
- _pull ( String remote ) virtual Pulls changes from the remote. This can give rise to merge conflicts.
- _push ( String remote, bool force ) virtual
remote. Optionally, ifforceis set to true, a force push will override the change history already present on the remote.
- _remove_branch ( String branch_name ) virtual Remove a branch from the local VCS.
- _remove_remote ( String remote_name ) virtual Remove a remote from the local VCS.
- _set_credentials ( String username, String password, String ssh_public_key_path, String ssh_private_key_path, String ssh_passphrase ) virtual
usernameandpasswordare used only during HTTPS authentication unless not already mentioned in the remote URL.ssh_public_key_path,ssh_private_key_path, andssh_passphraseare only used during SSH authentication.
- bool _shut_down ( ) virtual Shuts down VCS plugin instance. Called when the user either closes the editor or shuts down the VCS plugin through the editor UI.
- _stage_file ( String file_path ) virtual
file_pathto the staged area.
- _unstage_file ( String file_path ) virtual
file_pathfrom the staged area to the unstaged area.
- Dictionary add_diff_hunks_into_diff_file ( Dictionary diff_file, Array diff_hunks )
diff_hunksinto adiff_file.
- Dictionary add_line_diffs_into_diff_hunk ( Dictionary diff_hunk, Array line_diffs )
line_diffsinto adiff_hunk.
- Dictionary create_commit ( String msg, String author, String id, int unix_timestamp, int offset_minutes )
Dictionary item.
msgis the commit message of the commit.authoris a single human-readable string containing all the author’s details, e.g. the email and name configured in the VCS.idis the identifier of the commit, in whichever format your VCS may provide an identifier to commits.unix_timestampis the UTC Unix timestamp of when the commit was created.offset_minutesis the timezone offset in minutes, recorded from the system timezone where the commit was created.
- Dictionary create_diff_file ( String new_file, String old_file )
Dictionaryfor storing old and new diff file paths.
- Dictionary create_diff_hunk ( int old_start, int new_start, int old_lines, int new_lines )
Dictionaryfor storing diff hunk data.old_startis the starting line number in old file.new_startis the starting line number in new file.old_linesis the number of lines in the old file.new_linesis the number of lines in the new file.
- Dictionary create_diff_line ( int new_line_no, int old_line_no, String content, String status )
Dictionaryfor storing a line diff.new_line_nois the line number in the new file (can be-1if the line is deleted).old_line_nois the line number in the old file (can be-1if the line is added).contentis the diff text.statusis a single character string which stores the line origin.
- Dictionary create_status_file ( String file_path, ChangeType change_type, TreeArea area )
Dictionaryused by editor to read the status of a file.
- popup_error ( String msg ) Pops up an error message in the edior.
