-
Notifications
You must be signed in to change notification settings - Fork 594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Diff] Refactor for Diff3, Git, and conflicts #4111
Open
michaelblyons
wants to merge
129
commits into
sublimehq:master
Choose a base branch
from
michaelblyons:diff/git-patch
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,095
−250
Open
Changes from 1 commit
Commits
Show all changes
129 commits
Select commit
Hold shift + click to select a range
06e3966
[Diff] Support alt mode for Git's "patch email"
michaelblyons b4d9e96
[Diff] Add special Git email headers
michaelblyons 3cf1c25
[Diff] Add a Git --stat block
michaelblyons 108b072
[Diff] Add binary files to --stat block
michaelblyons c2b04b3
[Diff] Add a Git --shortstat block
michaelblyons 2aa8ec9
[Diff] Add create/delete files to --shortstat
michaelblyons a365452
[Diff] Add/Move test files
michaelblyons c6b3af1
[Diff] Add context for email body with formatting
michaelblyons b06d2d3
[Diff] Split to Git, other, and common contexts
michaelblyons ad29849
[Diff] Add Git binary patch format
michaelblyons bb16650
[Diff] Git file headings
michaelblyons d0e546b
[Diff] Fully split Git-special vs generic diffs
michaelblyons e65528c
[Diff] Tweak commit hash scope
michaelblyons 6c10828
[Diff] Git diff end block
michaelblyons ee7ffbf
[Diff] Consolidate some variables
michaelblyons 388d3f6
[Diff] File mode stuff
michaelblyons e5cd833
[Diff] Filename in git diff headers
michaelblyons 7731589
[Diff] Refactor Git file header
michaelblyons 1e88e63
[Diff] Move Git Diff to its own file !!!!!
michaelblyons 1eca9ec
[Diff] Add more Git email headers
michaelblyons 8780272
[Diff] Rename hash variables
michaelblyons 5610274
[Diff] Bailout for no-stat Git diff
michaelblyons f9960f6
[Diff] Refactor Git deltas
michaelblyons 50ed8bc
[Diff] Git diff signature. More file headers.
michaelblyons 11292ec
[Diff] Modify file header first line detection
michaelblyons 8902243
[Diff] Refactor pre-EOL pops
michaelblyons 72d8215
[Diff] Block contexts for diff header and content
michaelblyons 938ef14
fixup executable file mode scope
michaelblyons 660fb2e
[Diff] Drop unnecessary context
michaelblyons 32326aa
[Diff] WIP skippable stat
michaelblyons aa9a634
fixup Add context for pre-file header pop
michaelblyons 32a8cd6
fixup Binary patch content
michaelblyons 8bfa539
[Diff] Expand/comment Git index file header
michaelblyons ad57682
[Diff] Split traditional diff into more contexts
michaelblyons 3002e53
[Diff] Escape chars in Git filenames
michaelblyons fc7b192
[Diff] Link GNU diff documentation
michaelblyons c2c11d5
[Diff] Try circular extends
michaelblyons 029e22d
[Diff] Extended syntax consolidation
michaelblyons 58ec9a1
[Diff] Split unified headers off to new contexts
michaelblyons 28ccfdf
[Diff] Add optional date modified in file header
michaelblyons 208a40a
[Diff] Simplify date scopes
michaelblyons 381380d
[Diff] Consolidate Git stat line matches
michaelblyons 15ef595
[Diff] Change GNU links to anchors on full doc
michaelblyons c6e73b7
[Diff] Organize Git Diff with section headings
michaelblyons c0750e4
[Diff] Fix and Reformat first line matches
michaelblyons 5a03cf4
[Diff] Change test file comment character
michaelblyons bcaa079
[Diff] Add blockquote and scissors to Git email
michaelblyons fad1e98
[Diff] Support Diff3 Normal mode
michaelblyons 7c58155
[Diff] Modify punctuation scopes
michaelblyons 4c0fa55
[Diff] Add Git email subject RFC flag
michaelblyons 151888a
[Diff] Split delta types for traditional Diff
michaelblyons 6e749f4
[Diff] Heavily refactor traditional Diff
michaelblyons 0b78d37
[Diff] Scope ranges in hunk headers
michaelblyons 1818219
[Diff] Path constants
michaelblyons 5f14a7e
[Diff] Diff3 edit mode
michaelblyons b6a37ba
[Diff] Sort syntax headers
michaelblyons 7473575
[Diff] Create a conflict syntax
michaelblyons 5f499ce
[Diff] Rename `00000` hash to constant
michaelblyons aa52002
[Diff] Experiment with combined diff
michaelblyons e17ecd2
[Diff] Support combined diff out to 5 parents
michaelblyons 8ce2398
[Diff] Push into context for `index` file header
michaelblyons 030c9a9
[Diff] Add more combined diff file headers
michaelblyons 4e838d0
[Diff] Centralize components section
michaelblyons 23fd62c
[Diff] More accurate trailing whitespace
michaelblyons 9ce9e89
[Diff] Tweak date separator scope
michaelblyons fdad09d
[Diff] Prepare for SHA-256 Git
michaelblyons 2be2f6b
[Diff] Arabic numbers only in Git
michaelblyons cd733ba
[Diff] Fix backrefs incompatible with sregex
michaelblyons 8f61146
[Diff] Tweak conflict scopes
michaelblyons d7e29fd
[Diff] First-line syntax for git-send-email
michaelblyons 2eb4f8f
[Diff] Move Git Diff to Git Formats
michaelblyons 472ec3a
[Diff] PHP embedding to v2
michaelblyons 92051bb
[Diff] Move variables to the bottom
michaelblyons 8e9fafc
[Diff] Move prototypes to the bottom
michaelblyons cd4c8da
[Diff] Add whitespace
michaelblyons f7a8a3b
[Diff] Categorize diff context separator
michaelblyons c339b0b
[Diff] Prefer named contexts to push into
michaelblyons f05aae8
[Diff] Assume carriage return is normalized away
michaelblyons 8650e78
[Diff] ASCII-only in Base85
michaelblyons 078f65c
[Diff] Split email header context
michaelblyons 83a89f8
[Diff] More explicit variable name for hash
michaelblyons a53b9fb
[Diff] More comments
michaelblyons 2f49b80
[Diff] Add more variables to Conflict
michaelblyons 6b85490
[Diff] Conflict contexts
michaelblyons 193c171
[Diff] Nested conflicts
michaelblyons 97e8e48
[Diff] Conflict marker utility context
michaelblyons 36b33f1
[Diff] Named context for Git email quotes
michaelblyons 636739d
[Diff] Simplify date context
michaelblyons afc7fc3
[Diff] Named contexts for leading text body
michaelblyons ab04f94
[Diff] Named context for header body
michaelblyons b5c156a
[Diff] Remove some trailing whitespace
michaelblyons df6b4d6
[Diff] Embed Git Diff instead of pushing
michaelblyons fcff21a
[Diff] Merge leading text with headers
michaelblyons 1f5f405
[Diff] Modify inheritable part of signature
michaelblyons 53ae5aa
[Diff] Test Git-diff swap
michaelblyons 2207f0a
[Diff] Tests from SVN documentation
michaelblyons fd7bfee
[Diff] Split unified diff into a common base
michaelblyons b1f984f
[Diff] Rename diff header related contexts
deathaxe 2f1ddd1
[Diff] Remove redundant diff header implementations
deathaxe 3968c7b
[Diff] Re-use line-ranges context
deathaxe 409c0d7
[Diff] Re-use deltas context
deathaxe a6cadee
[Diff] combined and unified line-ranges share same patterns
deathaxe ef42739
[Diff] Tweak main key code style
deathaxe a8a3992
[Diff] Make Diff (Unified) non-standalone base syntax
deathaxe 07457a4
[Diff] Simplify eol
deathaxe 4f9d6dc
[Diff] Merge unique contexts
deathaxe 563c3b0
[Diff] Rename line-range contexts
deathaxe 8eded5f
[Diff] Rename delta contexts
deathaxe 10c3968
[Diff] Add separator
deathaxe e9b57ae
[Diff] Rename date context to timestamps
deathaxe 0447a06
[Diff] Include eol into meta.separator
deathaxe 46ff975
[Diff] Rename file-header-continue to diff-file-header
deathaxe e076ddc
[Diff] Remove redundant includes
deathaxe 18fb06e
[Diff] Fix diff3 edit format
deathaxe 13c33f6
[Diff] Hunks and ranges
deathaxe d13e9fb
[Diff] Fold Conflict syntax back in
michaelblyons e94d9b7
[Diff] Side-by-side diff
michaelblyons 15622fc
[Diff] Scope diff --git line meta.function-call
deathaxe 98fa1f8
[Diff] Update twodot scope
michaelblyons 39a126a
[Diff] Support multiline email headers
michaelblyons 3d631ec
[Diff] Rescope paths
michaelblyons 12066ad
[Diff] Add missing scopes for copy/move/etc.
michaelblyons 3685f51
[Diff] Git diff file header paths
michaelblyons 4ee85d3
[Diff] Embed Git Diff from Git Log
michaelblyons 03488bb
[Diff] Improve conflict markers
deathaxe 3a03a92
[Diff] Add some symbol tests
michaelblyons 4cce8fb
[Diff] Configure extensible BOL whitespace (#12)
michaelblyons f3ad356
[Diff] Remove side-by-side mode
michaelblyons 5341c70
[Diff] More lenient Git first line
michaelblyons File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
[Diff] Remove redundant diff header implementations
This commit... 1. removes GNU diff specific patterns and contexts from base syntax. 2. extends Git Diff's diff-header from base syntax. This commit assumes removed contexts to be uniquely required for GNU Diff, as they are overridden/unused in Git Diffs.
commit 2f1ddd1bd8ba87fd895308a7c0ad1f30e99ee099
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I loaded a patch from patchwork.kernel.org and I was surprised not to get the full highlighting. It did not have a "magic" date. If the more lenient
git_first_line
should be bumped to Diff (Basic), let me know.