Differences between revisions 1 and 2
Revision 1 as of 2019-10-04 20:12:59
Size: 1320
Comment:
Revision 2 as of 2019-10-04 20:23:56
Size: 2090
Comment:
Deletions are marked like this. Additions are marked like this.
Line 30: Line 30:
| idea | fix | format source | proposal |
| command line | fix.TOOL:command ({rootpath} as the file name) | |
|| idea || fix || format source || proposal ||
|| command line || fix.TOOL:command ({rootpath}) || format-source.TOOL ($HG_FILENAME)|| ||
|| line range flag || fix.TOOL:linerange ({first}:{last}) || ø || ||
|| || fix.TOOL:skipclean=BOOL || ø || ||
|| pattern to format || fix.TOOL:pattern || in `.hg-format-source` || ||
|| tool priority || fix.TOOL:priority || ø || || ||
|| metadata (strange) || fix.TOOL:metadata=BOOL || ø || ||
|| mode || ø || format-source.TOOL:mode={pipe/file} || ||
|| (input mode) || ø || format-source.TOOL:mode.input={pipe/file} || ||
|| (output mode) || ø || format-source.TOOL:mode.output={pipe/file} || ||
|| tool version || ø || format-source.TOOL:version-command || ||
|| version format || ø || format-source.TOOL:version-regex || ||
|| path of default config files || ø || format-source.TOOL:configpaths=[] || ||




Note:

This page is primarily intended for developers of Mercurial.

Unifying Fix and FormatSource Extensions

Status: Project

Main proponents: DannyHooper and Pierre-YvesDavid

Source formatting is great and a trending topic. There are multiples associated issues. The fix extensions deal with a subset of these issue and the format-source extensions deal with another subset (with some overlap).

We should have a single extension dealing with all issues.

1. Goal

There is three main issue with source formatting:

  • Applying formatting in your working copy
  • Applying formatting on content of existing draft changesets
  • Applying formatting change during merge // minimizing conflict that are purely formatting.

fix deal with the first 2; Format source deal with the first and the last. We want an unified approache using common code, common config and common UX/UI.

2. Detailed description

2.1. config

idea

fix

format source

proposal

command line

fix.TOOL:command ({rootpath})

format-source.TOOL ($HG_FILENAME)

line range flag

fix.TOOL:linerange ({first}:{last})

ø

fix.TOOL:skipclean=BOOL

ø

pattern to format

fix.TOOL:pattern

in .hg-format-source

tool priority

fix.TOOL:priority

ø

metadata (strange)

fix.TOOL:metadata=BOOL

ø

mode

ø

format-source.TOOL:mode={pipe/file}

(input mode)

ø

format-source.TOOL:mode.input={pipe/file}

(output mode)

ø

format-source.TOOL:mode.output={pipe/file}

tool version

ø

format-source.TOOL:version-command

version format

ø

format-source.TOOL:version-regex

path of default config files

ø

format-source.TOOL:configpaths=[]

2.2. user interface

3. Roadmap

  • (./) various

  • (./) step

  • {X} That

  • {X} need

  • {X} to

  • {X} be

  • {X} performed

4. See Also

  • pointer
  • to
  • related
  • page


CategoryDeveloper CategoryNewFeatures

FormatFixSourcePlan (last edited 2020-05-11 20:06:51 by timeless)