# Uživatelská příručka programu &app;

## Úvod

&app; je grafický nástroj pro slučování a porovnávání textových souborů. &app; dokáže porovnat libovolný počet souborů a nabízí uživatelům možnost ručně upravit zarovnání řádků a přímo upravovat porovnávané soubory. &app; také umí načíst k porovnání a slučování revize souborů přímo z repozitářů Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS a Subversion.

### O programu

Autorem &app; je Derrick Moser derrick_moser@yahoo.com.

© &app-year; Derrick Moser. Všechna práva vyhrazena.

### Licence

&app; je svobodný software. Lze ho upravovat a distribuovat za podmínky dodržení pravidel licence GNU General Public License (dále jen GPL), vydané Free Software Foundation. Použít lze verzi 2, nebo (pokud chcete) některou z jejích novějších verzí.

&app; je distribuován v naději, že bude užitečný, ale BEZ JAKÉKOLIV ZÁRUKY, tedy ani implicitní záruky OBCHODOVATELNOSTI nebo VHODNOSTI PRO URČITÝ ÚČEL. Další podrobnosti získáte přečtením GPL.

Spolu s &app; by jste měli obdržet i kopii GPL. GPL můžete také získat na domovských stránkách Free Software Foundation, nebo můžete zaslat dopis na adresu

              Free Software Foundation, Inc.
              51 Franklin St, Fifth Floor,
              Boston, MA 02110-1301
              USA

### Použití z příkazové řádky

`diffuse [ -h | -? | --help | -v | --version ]`

- Zobrazí informace o &app;.

`diffuse [ [ `parametr` ]... [ `soubor` ]... ]...`

- Porovnání a sloučení souborů.

#### Možnosti nápovědy

Parametr pro zobrazení nápovědy musí být zadán jako jediný parametr příkazové řádky. &app; bude po zobrazení nápovědy okamžitě ukončeno.

`-h`, `-?`, `--help`

- Zobrazí návod k použití.

`-v`, `--version`

- Zobrazí verzi programu a licenční údaje.

#### Možnosti nastavení

Parametr pro specifikaci nastavení musí být zadán jako první parametr příkazové řádky.

`--no-rcfile`

- Zakáže načítání inicializačních souborů.

`--rcfile `soubor``

- Načte inicializační příkazy ze souboru `soubor`.

#### Obecné možnosti

`-c`, `--commit` `rev`

- Otevře samostatné panely pro porovnání všech souborů ze zadaných cest změněných zápisem revize `rev`.

`-D`, `--close-if-same`

- Zavře panely s identickým obsahem.

`-e`, `--encoding` `kodek`

- Pro čtení a zápis souborů použije `kodek`.

`-L`, `--label` `název`

- Místo názvu souboru zobrazí uvedený `název`.

`-m`, `--modified`

- Otevře samostatné panely pro porovnání všech změněných souborů ze zadaných cest.

`-r`, `--revision` `rev`

- Otevře revizi `rev` souboru uvedeného jako následující parametr příkazové řádky.

`-s`, `--separate`

- Všechny soubory uvedené v příkazové řádce po tomto parametru otevře v samostatných panelech.

`-t`, `--tab`

- Otevře nový panel pro všechny soubory uvedené v příkazové řádce po tomto parametru.

`--line `řádek``

- Po spuštění zobrazí a vybere zadaný `řádek`.

`--null-file`

- Vytvoří prázdné podokno pro porovnání souborů.

#### Možnosti zobrazení

Parametry zobrazení zadané v příkazové řádce budou mít přednost před uloženým nastavením.

`-b`, `--ignore-space-change`

- Bude ignorovat změny, pokud jde o znaky mezer.

`-B`, `--ignore-blank-lines`

- Bude ignorovat změny, pokud jde o prázdné řádky.

`-E`, `--ignore-end-of-line`

- Bude ignorovat změny, pokud jde o znaky konců řádek.

`-i`, `--ignore-case`

- Bude ignorovat změny, pokud jde o změnu velikosti písmen.

`-w`, `--ignore-all-space`

- Bude ignorovat změny, pokud jde o netisknutelné znaky.

## Porovnávání souborů

Pro vytvoření dalších panelů pro porovnání souborů použijte položky nabídky Soubor Nové 2směrné slučování, Soubor Nové 3směrné slučování nebo Soubor Nové Nsměrné slučování. Názvy souborů a čísla revizí mohou být zadány pomocí příkazové řádky pro spuštění &app;, nebo pomocí polí v dialogu Otevřít soubor.

&app; zobrazí soubory vedle sebe a vložením mezer zarovná podobné řádky v jednotlivých souborech. Rozdíly jsou zvýrazněny pomocí odlišné barvy pozadí.

### Přehled porovnání

Přehled rozdílů v porovnaných souborech je umístěn na pravém okraji. V přehledu jsou vyznačena místa, kde byly vloženy mezery pro zarovnání shodných řádků a rozdíly jsou zvýrazněny pomocí barevných pruhů. Ruční úpravy jsou zvýrazněny zelenou barvou. Aktuálně zobrazený úsek je pak označen modrým kurzorem. Kliknutím do podokna přehledu můžete vybrat úsek, který má být zobrazen.

### Výběr

Pro výběr textových řádků můžete použít jak myš, tak klávesnici. Samostatný řádek vyberete myší jednoduše tak, že na něj kliknete. Více řádků můžete vybrat kliknutím a tažením kurzoru. Aktuální výběr pak také můžete rozšířit tak, že při kliknutí podržíte klávesu Shift. Pomocí klávesnice vyberete jednotlivé řádky pomocí kláves Page Up/Down nebo pomocí šipek. Aktuální výběr pak rozšíříte podržením klávesy Shift a stisknutím kláves Page Up/Down nebo šipek. Pro přesun výběru mezi jednotlivými soubory můžete použít šipku doleva nebo doprava.

### Zarovnání řádků

K zarovnání řádků porovnávaných souborů může být použita myš nebo klávesnice. Pro zarovnání řádků pomocí myši vyberte požadovaný řádek v prvním ze souborů pomocí levého tlačítka a v druhém souboru klikněte pravým tlačítkem myši na řádek, který chcete zarovnat s vybraným a z místní nabídky vyberte položku Zarovnat s výběrem. Pro zarovnání řádků pomocí klávesnice nastavte pomocí šipek výběr na požadovaný řádek v prvním ze souborů a aktivujte ho stisknutím mezerníku, poté pomocí šipek vyberte požadovaný řádek ve druhém souboru a stisknutím mezerníku potvrďte zarovnání. Tuto operaci můžete přerušit stisknutím klávesy Escape.

Pokud nechcete aby některé řádky byly porovnávány s řádky v ostatních souborech, můžete je z porovnání vyloučit použitím položky Izolovat.

### Editace

Pro přepnutí do režimu editace stiskněte klávesu Enter nebo dvakrát klikněte myší. Režim editace je indikován změnou kurzoru a zobrazením pozice kurzoru ve stavovém řádku.

V režimu editace je možné vybírat text pomocí myši. Pro rozšíření aktuálního výběru je možné použít klávesu Shift, kterou je třeba přidržet a poté určit nový rozsah výběru buď pomocí myši, nebo pomocí klávesnice za použití šipek, nebo některé z kláves Home, End, Page Up nebo Page Down. Jednotlivá slova mohou být vybrána dvojitým kliknutím myší. Celé řádky pak trojitým kliknutím.

V režimu editace je také možné text upravovat. Upravené řádky budou zvýrazněny použitím zeleného pozadí. Provedené úpravy můžete vrátit zpět nebo zopakovat použitím položek nabídky Zpět a Znovu.

Režim editace opustíte pomocí klávesy Escape nebo kliknutím do podokna jiného souboru.

### Slučování

Pro přesun mezi nalezenými rozdíly použijte příslušná tlačítka nebo položky nabídky. &app; při procházení přesune výběr na následující souvislý blok rozdílů nebo úprav.

Pro zkopírování bloků textu do vybraného rozsahu použijte příslušná tlačítka nebo položky nabídky. Provedené úpravy můžete vrátit zpět nebo zopakovat použitím položek nabídky Zpět a Znovu. Pro vrácení všech provedených úprav daného bloku řádků bez ohledu na pořadí jejich provedení je možné použít položku nabídky Smazat úpravy.

## Správa verzí

&app; podporuje načítání revizí souborů z několika systémů pro správu verzí prostřednictvím jejich rozhraní pro příkazový řádek. Verze &app; pro Microsoft Windows umí používat jak Cygwin verze, tak nativní verze podporovaných systémů pro správu verzí. Pokud &app; používáte s Cygwin, zajistěte, aby nastavení &app; pro Cygwin odpovídala konfiguraci vašeho systému. Pokud je pro daný systém správy verzí k dispozici volba Upravit cesty pro Cygwin, musí být při použití verze pro Cygwin povolena.

Chování systémů pro správu verzí závisí na nastavení systémových cest a dalších proměnných. Volba Spustit z příkazové řádky terminálu Bash může být použita pro zjednodušení nastavení prostředí pro systémy kontroly verzí pro Cygwin.

### Prohlížení nezapsaných změn

Při použití parametru `-m` budou v &app; otevřeny panely s porovnáním pro všechny soubory u kterých systém pro správu verzí nahlásí nezapsané změny. To se hodí pro kontrolu změn před zapsáním, nebo pro řešení konfliktů slučování. Pokud není specifikována žádná cesta, bude použit aktuální pracovní adresář. Například pokud chcete zobrazit všechny nezapsané úpravy, použijte tento příkaz:

    $ diffuse -m

Pokud je specifikován jen jeden soubor, bude pro porovnání použita výchozí revize tohoto souboru. Například tento příkaz zobrazí 2směrné slučování mezi výchozí revizí souboru `foo.C` a místní kopií souboru `foo.C`:

    $ diffuse foo.C

### Specifikace revizí

Parametr `-r` může být použit pro explicitní specifikaci určité revize souboru. Může být použit libovolný identifikátor podporovaný daným systémem pro správu verzí. Pokud je uvedena jen jedna revize, bude při porovnání použita místní kopie souboru. Například tento příkaz zobrazí 2směrné slučování mezi revizí 123 souboru `foo.C` a místní kopií souboru `foo.C`:

    $ diffuse -r 123 foo.C

Několik revizí souboru může být porovnáno použitím více parametrů `-r`. Například tento příkaz zobrazí 2směrné slučování mezi revizí 123 souboru `foo.C` a revizí 321 souboru `foo.C`:

    $ diffuse -r 123 -r 321 foo.C

Při porovnání mohou být uvedeny jak místní soubory, tak soubory ze systému správy verzí. Například tento příkaz zobrazí 3směrné slučování mezi revizí MERGE_HEAD souboru `foo.C`, lokální kopií souboru `foo.C` a revizí HEAD souboru `foo.C`:

    $ diffuse -r MERGE_HEAD foo.C foo.C -r HEAD foo.C

Parametr `-c` může být použit k jednoduchému určení po sobě jdoucích revizí. Například tento příkaz zobrazí 2směrné slučování mezi revizí 1.2.2 souboru `foo.C` a revizí 1.2.3 souboru `foo.C`:

    $ diffuse -c 1.2.3 foo.C

Počet podoken která mohou být použita k porovnání souborů není programem &app; nijak omezen. Například vstupní soubory pro chobotnicovité sloučení v Git mohou být zobrazeny pomocí následujícího příkazu:

    $ diffuse -r HEAD^1 -r HEAD^2 -r HEAD^3 -r HEAD^4 -r HEAD^5 foo.C

## Zdroje

Zdroje mohou být použity k úpravě vzhledu a chování &app;, například ke změně barev použitých v uživatelském rozhraní, přizpůsobení klávesových zkratek, přidání nebo změně pravidel zvýraznění syntaxe, nebo změně přiřazení pravidel zvýraznění syntaxe k určitým příponám souborů.

&app; při spuštění načte příkazy ze systémového inicializačního souboru `/etc/diffuserc` ( ve Windows `%INSTALL_DIR%\diffuserc`) a poté z uživatelského inicializačního souboru `~/.config/diffuse/diffuserc` (ve Windows `%HOME%\.config\diffuse\diffuserc`). Toto chování může být změněno pomocí parametrů `--no-rcfile` a `--rcfile`. Pro zpracování inicializačních příkazů je použit lexikální analyzátor podobný tomu v Bourne shell . Pro zadávání komentářů a speciálních znaků je možné použít stejné escapování jako v Bourne shell skriptech.

### Obecné

`import `soubor``

- Zpracuje inicializační příkazy ze souboru `soubor`. Inicializační soubory budou zpracovány pouze jednou.

### Přiřazení klávesových zkratek

`keybinding `kontext` `akce` `kombinace_kláves``

- Přiřadí klávesovou zkratku akci `akce` použité v určitém kontextu `kontext`. Použití modifikačních kláves Shift nebo Control určíte přidáním `Shift+` nebo `Ctrl+` k řetězci parametru `kombinace_kláves`. Klávesy běžně modifikované klávesou Shift by při použití modifikační klávesy Shift měly být v řetězci parametru `kombinace_kláves` uváděny ve své modifikované podobě. Tedy například, `Ctrl+g`, ale `Shift+Ctrl+G`. Přiřazení určité `kombinace_kláves` můžete zrušit nastavením parametru `akce` na hodnotu `None`.

#### Přiřazení klávesových zkratek položkám nabídky

Pro definici přiřazení klávesových zkratek pro položky nabídky použijte pro parametr `kontext` hodnotu `menu`. Platné hodnoty parametru `akce` jsou:

`open-file`

- Položka nabídky Soubor Otevřít soubor...

  Výchozí: `Ctrl+o`

`open-file-in-new-tab`

- Položka nabídky Soubor Otevřít v novém panelu...

  Výchozí: `Ctrl+t`

`open-modified-files`

- Položka nabídky Soubor Otevřít změněné soubory...

  Výchozí: `Shift+Ctrl+O`

`open-commit`

- Položka nabídky Soubor Otevřít revizi... menu item

  Výchozí: `Shift+Ctrl+T`

`reload-file`

- Položka nabídky Soubor Znovu načíst soubor

  Výchozí: `Shift+Ctrl+R`

`save-file`

- Položka nabídky Soubor Uložit soubor

  Výchozí: `Ctrl+s`

`save-file-as`

- Položka nabídky Soubor Uložit soubor jako...

  Výchozí: `Shift+Ctrl+A`

`save-all`

- Položka nabídky Soubor Uložit vše

  Výchozí: `Shift+Ctrl+S`

`new-2-way-file-merge`

- Položka nabídky Soubor Nové 2směrné slučování

  Výchozí: `Ctrl+2`

`new-3-way-file-merge`

- Položka nabídky Soubor Nové 3směrné slučování

  Výchozí: `Ctrl+3`

`new-n-way-file-merge`

- Položka nabídky Soubor Nové Nsměrné slučování

  Výchozí: `Ctrl+4`

`close-tab`

- Položka nabídky Soubor Zavřít panel

  Výchozí: `Ctrl+w`

`undo-close-tab`

- Položka nabídky Soubor Obnovit zavřený panel

  Výchozí: `Shift+Ctrl+w`

`quit`

- Položka nabídky Soubor Konec

  Výchozí: `Ctrl+q`

`undo`

- Položka nabídky Úpravy Zpět

  Výchozí: `Ctrl+z`

`redo`

- Položka nabídky Úpravy Znovu

  Výchozí: `Shift+Ctrl+Z`

`cut`

- Položka nabídky Vyjmout Zpět

  Výchozí: `Ctrl+x`

`copy`

- Položka nabídky Úpravy Kopírovat

  Výchozí: `Ctrl+c`

`paste`

- Položka nabídky Úpravy Vložit

  Výchozí: `Ctrl+v`

`select-all`

- Položka nabídky Úpravy Označit vše

  Výchozí: `Ctrl+a`

`clear-edits`

- Položka nabídky Úpravy Smazat úpravy

  Výchozí: `Ctrl+r`

`dismiss-all-edits`

- Položka nabídky Úpravy Zrušit všechny úpravy

  Výchozí: `Ctrl+d`

`find`

- Položka nabídky Úpravy Najít...

  Výchozí: `Ctrl+f`

`find-next`

- Položka nabídky Úpravy Najít další

  Výchozí: `Ctrl+g`

`find-previous`

- Položka nabídky Úpravy Najít předchozí

  Výchozí: `Shift+Ctrl+G`

`go-to-line`

- Položka nabídky Úpravy Přejít na řádek...

  Výchozí: `Shift+Ctrl+L`

`preferences`

- Položka nabídky Úpravy Předvolby...

  Výchozí: None

`no-syntax-highlighting`

- Položka nabídky Zobrazit Zvýraznění syntaxe Nic

  Výchozí: None

`syntax-highlighting-`syntaxe``

- Položka nabídky Zobrazit Zvýraznění syntaxe `syntaxe`

  Výchozí: None

`realign-all`

- Položka nabídky Zobrazit Znovu zarovnat

  Výchozí: `Ctrl+l`

`isolate`

- Položka nabídky Zobrazit Izolovat

  Výchozí: `Ctrl+i`

`first-difference`

- Položka nabídky Zobrazit První rozdíl

  Výchozí: `Shift+Ctrl+Up`

`previous-difference`

- Položka nabídky Zobrazit Předchozí rozdíl

  Výchozí: `Ctrl+Up`

`next-difference`

- Položka nabídky Zobrazit Další rozdíl

  Výchozí: `Ctrl+Down`

`last-difference`

- Položka nabídky Zobrazit Poslední rozdíl

  Výchozí: `Shift+Ctrl+Down`

`first-tab`

- Položka nabídky Zobrazit První panel

  Výchozí: `Shift+Ctrl+Page_Up`

`previous-tab`

- Položka nabídky Zobrazit Předchozí panel

  Výchozí: `Ctrl+Page_Up`

`next-tab`

- Položka nabídky Zobrazit Další panel

  Výchozí: `Ctrl+Page_Down`

`last-tab`

- Položka nabídky Zobrazit Poslední panel

  Výchozí: `Shift+Ctrl+Page_Down`

`shift-pane-right`

- Položka nabídky Zobrazit Přesunout podokno doprava

  Výchozí: `Shift+Ctrl+parenleft`

`shift-pane-left`

- Položka nabídky Zobrazit Přesunout podokno doleva

  Výchozí: `Shift+Ctrl+parenright`

`convert-to-upper-case`

- Položka nabídky Formát Převést na velká písmena

  Výchozí: `Ctrl+u`

`convert-to-lower-case`

- Položka nabídky Formát Převést na malá písmena

  Výchozí: `Shift+Ctrl+U`

`sort-lines-in-ascending-order`

- Položka nabídky Formát Seřadit řádky vzestupně

  Výchozí: `Ctrl+y`

`sort-lines-in-descending-order`

- Položka nabídky Formát Seřadit řádky sestupně

  Výchozí: `Shift+Ctrl+Y`

`remove-trailing-white-space`

- Položka nabídky Formát Odstranit mezery na koncích řádků

  Výchozí: `Ctrl+k`

`convert-tabs-to-spaces`

- Položka nabídky Formát Nahradit tabulátory mezerami

  Výchozí: `Ctrl+b`

`convert-leading-spaces-to-tabs`

- Položka nabídky Formát Nahradit úvodní mezery tabulátory

  Výchozí: `Shift+Ctrl+B`

`increase-indenting`

- Položka nabídky Formát Zvětšit odsazení

  Výchozí: `Shift+Ctrl+>`

`decrease-indenting`

- Položka nabídky Formát Zmenšit odsazení

  Výchozí: `Shift+Ctrl+<`

`convert-to-dos`

- Formát Převést na DOS formát

  Výchozí: `Shift+Ctrl+E`

`convert-to-mac`

- Položka nabídky Formát Převést na Mac formát

  Výchozí: `Shift+Ctrl+C`

`convert-to-unix`

- Položka nabídky Formát Převést na Unix formát

  Výchozí: `Ctrl+e`

`copy-selection-right`

- Položka nabídky Sloučit Kopírovat výběr doprava

  Výchozí: `Shift+Ctrl+Right`

`copy-selection-left`

- Položka nabídky Sloučit Kopírovat výběr doleva

  Výchozí: `Shift+Ctrl+Left`

`copy-left-into-selection`

- Položka nabídky Sloučit Kopírovat zleva do výběru

  Výchozí: `Ctrl+Right`

`copy-right-into-selection`

- Položka nabídky Sloučit Kopírovat zprava do výběru

  Výchozí: `Ctrl+Left`

`merge-from-left-then-right`

- Položka nabídky Sloučit Sloučit zleva a poté zprava menu item

  Výchozí: `Ctrl+m`

`merge-from-right-then-left`

- Položka nabídky Sloučit Sloučit zprava a poté zleva

  Výchozí: `Shift+Ctrl+M`

`help-contents`

- Položka nabídky Nápověda Zobrazit nápovědu

  Výchozí: `F1`

`about`

- Položka nabídky Nápověda O programu Diffuse

  Výchozí: None

#### Přiřazení klávesových zkratek pro řádkový režim úprav

Pro přiřazení klávesových zkratek pro řádkový režim úprav použijte pro parametr `kontext` hodnotu `line-mode`. Platné hodnoty parametru `akce` jsou:

`enter-align-mode`

- aktivovat režim úprav zarovnání

  Výchozí: `space`

`enter-character-mode`

- aktivovat znakový režim úprav

  Výchozí: `Return`, `KP_Enter`

`first-line`

- přesunout kurzor na první řádek

  Výchozí: `Home`, `g`

`extend-first-line`

- přesunout kurzor na první řádek a rozšířit výběr

  Výchozí: `Shift+Home`

`last-line`

- přesunout kurzor na poslední řádek

  Výchozí: `End`, `Shift+G`

`extend-last-line`

- přesunout kurzor na poslední řádek a rozšířit výběr

  Výchozí: `Shift+End`

`up`

- posunout kurzor o jeden řádek nahoru

  Výchozí: `Up`, `k`

`extend-up`

- posunout kurzor o jeden řádek nahoru a rozšířit výběr

  Výchozí: `Shift+Up`, `Shift+K`

`down`

- posunout kurzor o jeden řádek dolů

  Výchozí: `Down`, `j`

`extend-down`

- posunout kurzor o jeden řádek dolů a rozšířit výběr

  Výchozí: `Shift+Down`, `Shift+J`

`left`

- přesunout kurzor o soubor doleva

  Výchozí: `Left`, `h`

`extend-left`

- přesunout kurzor o soubor doleva a rozšířit výběr

  Výchozí: `Shift+Left`

`right`

- přesunout kurzor o soubor doprava

  Výchozí: `Right`, `l`

`extend-right`

- přesunout kurzor o soubor doprava a rozšířit výběr

  Výchozí: `Shift+Right`

`page-up`

- přesunout kurzor o stránku nahoru

  Výchozí: `Page_Up`, `Ctrl+u`

`extend-page-up`

- přesunout kurzor o stránku nahoru a rozšířit výběr

  Výchozí: `Shift+Page_Up`, `Shift+Ctrl+u`

`page-down`

- přesunout kurzor o stránku dolů

  Výchozí: `Page_Down`, `Ctrl+d`

`extend-page-down`

- přesunout kurzor o stránku dolů a rozšířit výběr

  Výchozí: `Shift+Page_Down`, `Shift+Ctrl+d`

`delete-text`

- smazat vybraný text

  Výchozí: `BackSpace`, `Delete`, `x`

`first-difference`

- vybrat první rozdíl

  Výchozí: `Ctrl+Home`, `Shift+P`

`previous-difference`

- vybrat předchozí rozdíl

  Výchozí: `p`

`next-difference`

- vybrat další rozdíl

  Výchozí: `n`

`last-difference`

- vybrat poslední rozdíl

  Výchozí: `Ctrl+End`, `Shift+N`

`clear-edits`

- smazat všechny úpravy ve vybraných řádcích

  Výchozí: `r`

`copy-selection-left`

- zkopírovat vybrané řádky do souboru nalevo

  Výchozí: None

`copy-selection-right`

- zkopírovat vybrané řádky do souboru napravo

  Výchozí: None

`copy-left-into-selection`

- zkopírovat do výběru řádky ze souboru nalevo

  Výchozí: `Shift+L`

`copy-right-into-selection`

- zkopírovat do výběru řádky ze souboru napravo

  Výchozí: `Shift+H`

`merge-from-left-then-right`

- sloučit řádky ze souboru nalevo a poté ze souboru napravo

  Výchozí: `m`

`merge-from-right-then-left`

- sloučit řádky ze souboru napravo a poté ze souboru nalevo

  Výchozí: `Shift+M`

`isolate`

- izolovat vybrané řádky

  Výchozí: `i`

#### Přiřazení klávesových zkratek pro režim úprav zarovnání

Pro přiřazení klávesových zkratek pro režim úprav zarovnání použijte pro parametr `kontext` hodnotu `align-mode`. Platné hodnoty parametru `akce` jsou:

`enter-line-mode`

- aktivovat řádkový režim úprav

  Výchozí: `Escape`

`enter-character-mode`

- aktivovat znakový režim úprav

  Výchozí: `Return`, `KP_Enter`

`first-line`

- přesunout kurzor na první řádek

  Výchozí: `g`

`last-line`

- přesunout kurzor na poslední řádek

  Výchozí: `Shift+G`

`up`

- posunout kurzor o jeden řádek nahoru

  Výchozí: `Up`, `k`

`down`

- posunout kurzor o jeden řádek dolů

  Výchozí: `Down`, `j`

`left`

- přesunout kurzor o soubor doleva

  Výchozí: `Left`, `h`

`right`

- přesunout kurzor o soubor doprava

  Výchozí: `Right`, `l`

`page-up`

- přesunout kurzor o stránku nahoru

  Výchozí: `Page_Up`, `Ctrl+u`

`page-down`

- přesunout kurzor o stránku dolů

  Výchozí: `Page_Down`, `Ctrl+d`

`align`

- zarovnat vybraný řádek k aktuální pozici kurzoru

  Výchozí: `space`

#### Přiřazení klávesových zkratek pro znakový režim úprav

Pro přiřazení klávesových zkratek pro znakový režim úprav použijte pro parametr `kontext` hodnotu `character-mode`. Platné hodnoty parametru `akce` jsou:

`enter-line-mode`

- aktivovat řádkový režim úprav

  Výchozí: `Escape`

### Řetězce

`string `název` `hodnota``

- Deklaruje řetězec s názvem `název` a přiřadí mu hodnotu `hodnota`.

#### Používané řetězce

&app; používá následující řetězce:

`difference_colours`

- seznam definovaných názvů barev použitých ke zvýraznění rozdílů

  Výchozí: `difference_1 difference_2 difference_3`

### Barvy

`[ colour | color ] `název` `červená` `zelená` `modrá``

- Deklaruje barvu s názvem `název`. Jednotlivé barevné složky jsou definovány jako hodnoty mezi 0 a 1.

#### Používané barvy

&app; používá následující barvy:

`alignment`

- barva použitá ke zvýraznění řádku vybraného k ručnímu zarovnání

  Výchozí: `1 1 0`

`character_selection`

- barva použitá ke zvýraznění vybraných znaků

  Výchozí: `0.7 0.7 1`

`cursor`

- barva kurzoru

  Výchozí: `0 0 0`

`difference_1`

- barva použitá ke zvýraznění rozdílů mezi první dvojicí souborů

  Výchozí: `1 0.625 0.625`

`difference_2`

- barva použitá ke zvýraznění rozdílů mezi druhou dvojicí souborů

  Výchozí: `0.85 0.625 0.775`

`difference_3`

- barva použitá ke zvýraznění rozdílů mezi třetí dvojicí souborů

  Výchozí: `0.85 0.775 0.625`

`edited`

- barva použitá ke zvýraznění upravených řádků

  Výchozí: `0.5 1 0.5`

`hatch`

- barva použitá k označení mezer vzniklých zarovnáním

  Výchozí: `0.8 0.8 0.8`

`line_number`

- barva písma pro čísla řádků

  Výchozí: `0 0 0`

`line_number_background`

- barva pozadí pro oblast čísel řádků

  Výchozí: `0.75 0.75 0.75`

`line_selection`

- barva použitá ke zvýraznění vybraných řádků

  Výchozí: `0.7 0.7 1`

`map_background`

- barva pozadí mapy

  Výchozí: `0.6 0.6 0.6`

`margin`

- barva použitá k označení pravého okraje

  Výchozí: `0.8 0.8 0.8`

`preedit`

- barva textu před úpravami

  Výchozí: `0 0 0`

`text`

- barva písma běžného textu

  Výchozí: `0 0 0`

`text_background`

- barva pozadí textové oblasti

  Výchozí: `1 1 1`

### Hodnoty s plovoucí desetinnou čárkou

`float `název` `hodnota``

- Deklaruje hodnotu s plovoucí desetinnou čárkou s názvem `název` a přiřadí jí hodnotu `hodnota`.

#### Používané hodnoty s plovoucí desetinnou čárkou

&app; používá následující hodnoty s plovoucí desetinnou čárkou:

`alignment_opacity`

- průhlednost použitá při míchání barvy použité pro zvýraznění ručního zarovnání

  Výchozí: `1`

`character_difference_opacity`

- průhlednost použitá při míchání barev použitých pro zvýraznění rozdílných znaků

  Výchozí: `0.4`

`character_selection_opacity`

- průhlednost použitá při míchání barvy použité pro zvýraznění vybraných znaků

  Výchozí: `0.4`

`edited_opacity`

- průhlednost použitá při míchání barvy použité pro zvýraznění upravených řádků

  Výchozí: `0.4`

`line_difference_opacity`

- průhlednost použitá při míchání barev pro zvýraznění rozdílných řádků

  Výchozí: `0.3`

`line_selection_opacity`

- průhlednost použitá při míchání barvy pro zvýraznění vybraných řádků

  Výchozí: `0.4`

### Zvýraznění syntaxe

`syntax `název` `výchozí_stav` `výchozí_značka``

- Deklaruje nový styl syntaxe s názvem `název`. Zvýrazňování syntaxe používá jednoduchý stavový stroj u kterého přepínání mezi jednotlivými stavy závisí na nalezení určitých řetězců. Výchozím stavem stavového stroje bude `výchozí_stav`. Všechny znaky, které neodpovídají nějaké masce budou pro zvýraznění označeny značkou `výchozí_značka`. Styl syntaxe s názvem `název` může být odstraněn vynecháním parametrů `výchozí_stav` a `výchozí_značka`.

`syntax_files `název` `maska``

- Určuje, že pro soubory jejichž název odpovídá masce uvedené v parametru `maska` má být použit styl zvýraznění syntaxe s názvem `název`. Masky sloužící k rozpoznání toho pro které soubory má být použito zvýraznění syntaxe s názvem `název` mohou být odstraněny vynecháním parametru `maska`.

`syntax_magic `název` `maska` ignorecase`

- Určuje, že pro soubory jejichž první řádek odpovídá masce uvedené v parametru `maska` má být použit styl zvýraznění syntaxe s názvem `název`. Masky sloužící k rozpoznání toho pro které soubory má být použito zvýraznění syntaxe s názvem `název` mohou být odstraněny vynecháním parametru `maska`.

`syntax_pattern `název` `výchozí_stav` `cílový_stav` `značka` `maska` ignorecase`

- Přidá masku do dříve definovaného stylu syntaxe. Masky jsou postupně testovány v pořadí v jakém byly definovány, dokud není nalezena první shoda. Porovnávány jsou vždy jen masky u nichž parametr `výchozí_stav` odpovídá právě aktivnímu stavu stavového stroje. Pokud je nalezen řetězec odpovídající masce parametru `maska`, stavový stroj se přepne do stavu definovaného v parametru `cílový_stav`. Pokud je uveden parametr `ignorecase`, bude při porovnávání masky ignorována velikost písmen. Všechny znaky, které odpovídají určené masce budou pro zvýraznění označeny značkou `značka`.

## Soubory

&app; používá následující soubory:

`/etc/diffuserc`

- sdílené předvolby (ve Windows `%INSTALL_DIR%\diffuserc`)

`/usr/share/diffuse/syntax/*.syntax`

- soubory s pravidly pro zvýraznění syntaxe různých jazyků (ve Windows `%INSTALL_DIR%\syntax\*.syntax`)

`~/.config/diffuse/diffuserc`

- uživatelské předvolby (ve Windows `%HOME%\.config\diffuse\diffuserc`)

`~/.config/diffuse/prefs`

- uložená nastavení (ve Windows `%HOME%\.config\diffuse\prefs`)

`~/.local/share/diffuse/state`

- data přenášená mezi relacemi (ve Windows `%HOME%\.local\share\diffuse\state`)