# AlignThreshold-class: Controls How Lines Within a Diff Hunk Are Aligned In diffobj: Diffs for R Objects

## Description

Controls How Lines Within a Diff Hunk Are Aligned

## Slots

`threshold`

numeric(1L) between 0 and 1, what proportion of words in the lines must match in order to align them. Set to 1 to effectively turn aligning off. Defaults to 0.25.

`min.chars`

integer(1L) positive, minimum number of characters that must match across lines in order to align them. This requirement is in addition to `threshold` and helps minimize spurious alignments. Defaults to 3.

`count.alnum.only`

logical(1L) modifier for `min.chars`, whether to count alpha numeric characters only. Helps reduce spurious alignment caused by meta character sequences such as “[[1]]” that would otherwise meet the `min.chars` limit

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```a1 <- AlignThreshold(threshold=0) a2 <- AlignThreshold(threshold=1) a3 <- AlignThreshold(threshold=0, min.chars=2) ## Note how "e f g" is aligned diffChr(c("a b c e", "d e f g"), "D e f g", align=a1, pager="off") ## But now it is not diffChr(c("a b c e", "d e f g"), "D e f g", align=a2, pager="off") ## "e f" are not enough chars to align diffChr(c("a b c", "d e f"), "D e f", align=a1, pager="off") ## Override with min.chars, so now they align diffChr(c("a b c", "d e f"), "D e f", align=a3, pager="off") ```

### Example output

```< c("a b ..  > "D e f g"
@@ 1,2 @@    @@ 1 @@
< a b c e    ~
< d e f g    > D e f g
< c("a b ..  > "D e f g"
@@ 1,2 @@    @@ 1 @@
< a b c e    > D e f g
< d e f g    ~
< c("a b ..  > "D e f"
@@ 1,2 @@    @@ 1 @@
< a b c      > D e f
< d e f      ~
< c("a b ..  > "D e f"
@@ 1,2 @@    @@ 1 @@
< a b c      ~
< d e f      > D e f
```

diffobj documentation built on Oct. 5, 2021, 9:07 a.m.