Skip to content

Commit 10986ac

Browse files
committed
Merge branch 'inlineCli'
2 parents eda111b + 281579a commit 10986ac

21 files changed

+1135
-452
lines changed

example/cli.php

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22

33
use jblond\cli\Cli;
44
use jblond\Diff;
5+
use jblond\Diff\Renderer\Text\InlineCli;
56
use jblond\Diff\Renderer\Text\UnifiedCli;
67

7-
// Include and instantiate autoloader.
8-
require '../vendor/autoload.php';
8+
// Validate the interpreter.
9+
if (php_sapi_name() !== 'cli') {
10+
echo 'This script demonstrates console support for the php-diff package.<br>';
11+
echo 'Please execute it from a cli interpreter.';
12+
throw new RuntimeException('Script for CLI use only!');
13+
}
914

10-
// jblond\cli\Cli
11-
$cli = new Cli();
1215

16+
// Include and instantiate autoloader.
17+
require '../vendor/autoload.php';
1318

1419
// Include two sample files for comparison.
15-
$a = file_get_contents(dirname(__FILE__) . '/a.txt');
16-
$b = file_get_contents(dirname(__FILE__) . '/b.txt');
20+
$sampleA = file_get_contents(dirname(__FILE__) . '/a.txt');
21+
$sampleB = file_get_contents(dirname(__FILE__) . '/b.txt');
1722

1823
$customOptions = [
1924
'context' => 2,
@@ -23,18 +28,48 @@
2328
];
2429

2530
// Choose one of the initializations.
26-
$diff = new Diff($a, $b);
31+
$diff = new Diff($sampleA, $sampleB);
32+
//$diff = new Diff($a, $b, $customOptions); // Initialize the diff class with custom options.
2733

34+
// Instantiate Cli wrapper
35+
$cli = new Cli();
2836

2937
// Generate a unified diff.
30-
// \jblond\Diff\Renderer\Text
3138
$renderer = new UnifiedCli();
39+
echo "-= Unified Default =-\n\n";
40+
$cli->output($diff->render($renderer));
41+
42+
echo "\n\n-= Unified Colored =-\n\n";
43+
44+
$renderer = new UnifiedCli(
45+
// Define renderer options.
46+
[
47+
'cliColor' => 'simple',
48+
]
49+
);
50+
51+
$cli->output($diff->render($renderer));
3252

3353

54+
// Generate an inline diff.
55+
$renderer = new InlineCli(
56+
// Define renderer options.
57+
[
58+
'deleteMarkers' => ['-', '-'],
59+
'insertMarkers' => ['+', '+'],
60+
'equalityMarkers' => ['=', 'x'],
61+
]
62+
);
63+
echo "-= Inline Marked =-\n\n";
3464
$cli->output($diff->render($renderer));
3565

36-
echo "\n\n Now Colored\n\n";
66+
echo "-= Inline Colored =-\n\n";
3767

38-
$coloredRenderer = new UnifiedCli(['cliColor'=>'simple']);
68+
$coloredRenderer = new InlineCli(
69+
// Define renderer options.
70+
[
71+
'cliColor' => true,
72+
]
73+
);
3974

4075
$cli->output($diff->render($coloredRenderer));

example/example.php

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
use jblond\Diff;
44
use jblond\Diff\Renderer\Html\Inline;
5-
use jblond\Diff\Renderer\Html\Unified as HtmlUnified;
65
use jblond\Diff\Renderer\Html\SideBySide;
6+
use jblond\Diff\Renderer\Html\Unified as HtmlUnified;
77
use jblond\Diff\Renderer\Text\Context;
88
use jblond\Diff\Renderer\Text\Unified;
99

1010
// Include and instantiate autoloader.
1111
require '../vendor/autoload.php';
1212

1313
// Include two sample files for comparison.
14-
$a = file_get_contents(dirname(__FILE__) . '/a.txt');
15-
$b = file_get_contents(dirname(__FILE__) . '/b.txt');
14+
$sampleA = file_get_contents(dirname(__FILE__) . '/a.txt');
15+
$sampleB = file_get_contents(dirname(__FILE__) . '/b.txt');
1616

1717
// Options for generating the diff.
1818
$customOptions = [
@@ -23,7 +23,7 @@
2323
];
2424

2525
// Choose one of the initializations.
26-
$diff = new Diff($a, $b); // Initialize the diff class with default options.
26+
$diff = new Diff($sampleA, $sampleB); // Initialize the diff class with default options.
2727
//$diff = new Diff($a, $b, $customOptions); // Initialize the diff class with custom options.
2828
?><!DOCTYPE html>
2929
<html lang="en">
@@ -34,14 +34,14 @@
3434
<script>
3535
function changeCSS(cssFile, cssLinkIndex) {
3636

37-
var oldLink = document.getElementsByTagName("link").item(cssLinkIndex);
37+
const oldLink = document.getElementsByTagName('link').item(cssLinkIndex);
3838

39-
var newLink = document.createElement("link");
40-
newLink.setAttribute("rel", "stylesheet");
41-
newLink.setAttribute("type", "text/css");
42-
newLink.setAttribute("href", cssFile);
39+
const newLink = document.createElement('link');
40+
newLink.setAttribute('rel', 'stylesheet');
41+
newLink.setAttribute('type', 'text/css');
42+
newLink.setAttribute('href', cssFile);
4343

44-
document.getElementsByTagName("head").item(0).replaceChild(newLink, oldLink);
44+
document.getElementsByTagName('head').item(0).replaceChild(newLink, oldLink);
4545
}
4646
</script>
4747
</head>
@@ -52,17 +52,13 @@ function changeCSS(cssFile, cssLinkIndex) {
5252
<a href="#" onclick="changeCSS('styles.css', 0);">Light Theme</a>
5353
<a href="#" onclick="changeCSS('dark-theme.css', 0);">Dark Theme</a>
5454
</aside>
55-
<hr />
55+
<hr>
5656

5757
<h2>HTML Side by Side Diff</h2>
5858

5959
<?php
6060
// Generate a side by side diff.
61-
// \jblond\Diff\Renderer\Html
62-
$renderer = new SideBySide([
63-
'title1' => 'Custom title for version1',
64-
'title2' => 'Custom title for version2',
65-
]);
61+
$renderer = new SideBySide();
6662
echo $diff->Render($renderer);
6763
?>
6864

@@ -71,31 +67,27 @@ function changeCSS(cssFile, cssLinkIndex) {
7167
<?php
7268

7369
// Generate an inline diff.
74-
// \jblond\Diff\Renderer\Html
7570
$renderer = new Inline();
7671
echo $diff->render($renderer);
7772
?>
7873

7974
<h2>HTML Unified Diff</h2>
8075
<?php
8176
// Generate a unified diff.
82-
// \jblond\Diff\Renderer\Html
8377
$renderer = new HtmlUnified();
8478
echo "<pre>{$diff->render($renderer)}</pre>";
8579
?>
8680

8781
<h2>Text Unified Diff</h2>
8882
<?php
8983
// Generate a unified diff.
90-
// \jblond\Diff\Renderer\Text
9184
$renderer = new Unified();
9285
echo '<pre>' . htmlspecialchars($diff->render($renderer)) . '</pre>';
9386
?>
9487

9588
<h2>Text Context Diff</h2>
9689
<?php
9790
// Generate a context diff.
98-
// jblond\Diff\Renderer\Text\Context
9991
$renderer = new Context();
10092
echo '<pre>' . htmlspecialchars($diff->render($renderer)) . '</pre>';
10193
?>

0 commit comments

Comments
 (0)