Compare commits
No commits in common. "e53661861d51f1ab4267180ca2dca53a96949747" and "6e2450847cae3a57794d95e6a3f9bd3df5c9b114" have entirely different histories.
e53661861d
...
6e2450847c
|
@ -0,0 +1,15 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
[*.{yml,yaml,xml,xml.in}]
|
||||||
|
indent_size = 2
|
|
@ -0,0 +1,4 @@
|
||||||
|
[flake8]
|
||||||
|
builtins = _
|
||||||
|
max-line-length = 100
|
||||||
|
show-source = true
|
|
@ -1,2 +0,0 @@
|
||||||
# Normalize EOL for all files that Git considers text files.
|
|
||||||
* text=auto eol=lf
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
# Controls when the action will run.
|
||||||
|
on:
|
||||||
|
# Triggers the workflow on push or pull request events but only for the default branch
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.8'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get -y install libgirepository1.0-dev
|
||||||
|
pip install -r requirements.dev.txt
|
||||||
|
pip list
|
||||||
|
|
||||||
|
- name: Flake8
|
||||||
|
run: |
|
||||||
|
flake8 --version
|
||||||
|
flake8 src/ po/
|
||||||
|
|
||||||
|
- name: MyPy
|
||||||
|
run: |
|
||||||
|
mypy --version
|
||||||
|
mypy src/ po/
|
||||||
|
|
||||||
|
meson-build-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
# Use Ubuntu 23.04 in order to have appstreamcli v0.16 instead of 0.15.
|
||||||
|
image: ubuntu:23.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.8'
|
||||||
|
# Extra installation since we are not using ubuntu-latest
|
||||||
|
- run: apt-get update && apt-get -y install libglib2.0-dev-bin
|
||||||
|
- run: apt-get -y install meson appstream desktop-file-utils gettext
|
||||||
|
- run: meson setup build
|
||||||
|
- run: meson compile -C build
|
||||||
|
- run: meson test --print-errorlogs -C build
|
||||||
|
|
||||||
|
flatpak-build-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: bilelmoussaoui/flatpak-github-actions:gnome-45
|
||||||
|
options: --privileged
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.8'
|
||||||
|
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
|
with:
|
||||||
|
bundle: "diffuse.flatpak"
|
||||||
|
manifest-path: "io.github.mightycreak.Diffuse.yml"
|
||||||
|
cache-key: flatpak-builder-${{ github.sha }}
|
||||||
|
run-tests: "true"
|
|
@ -1,9 +1,148 @@
|
||||||
|
#
|
||||||
|
# Source: https://github.com/github/gitignore/blob/main/Python.gitignore
|
||||||
|
#
|
||||||
|
|
||||||
# Godot-specific ignores
|
# Byte-compiled / optimized / DLL files
|
||||||
.import/
|
__pycache__/
|
||||||
godot/.godot/
|
*.py[cod]
|
||||||
# Mono-specific ignores
|
*$py.class
|
||||||
.mono/
|
|
||||||
data_*/
|
|
||||||
|
|
||||||
godot/.build/
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
build-flatpak/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
.flatpak-builder/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
cover/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
.pybuilder/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
# For a library or package, you might want to ignore these files since the code is
|
||||||
|
# intended to run in multiple environments; otherwise, check them in:
|
||||||
|
# .python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
|
|
||||||
|
# pytype static type analyzer
|
||||||
|
.pytype/
|
||||||
|
|
||||||
|
# Cython debug symbols
|
||||||
|
cython_debug/
|
||||||
|
|
||||||
|
# static files generated from Django application using `collectstatic`
|
||||||
|
media
|
||||||
|
static
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"default": true,
|
||||||
|
"no-duplicate-heading": false,
|
||||||
|
"no-inline-html": false,
|
||||||
|
"no-emphasis-as-heading": false
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
[mypy]
|
||||||
|
warn_unused_ignores = True
|
||||||
|
disallow_incomplete_defs = True
|
||||||
|
disable_error_code = annotation-unchecked
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"davidanson.vscode-markdownlint",
|
||||||
|
"mesonbuild.mesonbuild",
|
||||||
|
"ms-python.python",
|
||||||
|
"redhat.vscode-yaml"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Python: Debug",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/main.py",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
// "env": {
|
||||||
|
// "PYTHONPATH": "."
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python: Remote Attach",
|
||||||
|
"type": "python",
|
||||||
|
"request": "attach",
|
||||||
|
"port": 5678,
|
||||||
|
"host": "localhost",
|
||||||
|
"pathMappings": [
|
||||||
|
{
|
||||||
|
"localRoot": "${workspaceFolder}",
|
||||||
|
"remoteRoot": "."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
Programming
|
||||||
|
-----------
|
||||||
|
Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
Romain Failliot <romain.failliot@foolstep.com>
|
||||||
|
|
||||||
|
Translators
|
||||||
|
-----------
|
||||||
|
Akom Chotiphantawanon <knight2000@gmail.com> (Thai)
|
||||||
|
Chi Ming <tw.chi.ming@gmail.com> (Traditional Chinese)
|
||||||
|
Cristian Marchi <cri.penta@gmail.com> (Italian)
|
||||||
|
Derrick Moser <derrick_moser@yahoo.com> (Japanese)
|
||||||
|
David Màrin <davefx@gmail.com> (Spanish)
|
||||||
|
Henri Menke <henrimenke4@aim.com> (German, Spanish)
|
||||||
|
Jindřich Šesták <khagaroth@gmail.com> (Czech)
|
||||||
|
Kang Bundo <kangbundo@gmail.com> (Korean)
|
||||||
|
Liu Hao <jarryson@gmail.com> (Simplified Chinese)
|
||||||
|
Miś Uszatek <adres.email@ymail.com> (Polish)
|
||||||
|
Oleg Pakhtusov <oupakhtusov@gmail.com> (Russian)
|
||||||
|
Pedro Albuquerque <pmra@gmx.com> (Portuguese)
|
||||||
|
Wei-Lun Chao <bluebat@member.fsf.org> (Traditional Chinese)
|
||||||
|
|
||||||
|
Contributors
|
||||||
|
------------
|
||||||
|
Guillaume Hoffmann <guillaumh@gmail.com>
|
|
@ -0,0 +1,589 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Translation: update Italian translation (@albanobattistella)
|
||||||
|
|
||||||
|
## 0.9.0 - 2024-01-13
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Update from GNOME 44 to 45 (@sabriunal)
|
||||||
|
- Flatpak manifest now runs the tests (@sabriunal)
|
||||||
|
- Use `appstreamcli` instead of the deprecated `appstream-util` to validate
|
||||||
|
appdata (@sabriunal)
|
||||||
|
- Update appdata: add translation tag, vcs-browser and translate URLs (@sabriunal)
|
||||||
|
- Translation: mark the developer name and release descriptions as
|
||||||
|
untranslatable (@sabriunal)
|
||||||
|
- Translation: update Turkish translation (@sabriunal)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Remove support for the SVK CVS (@MightyCreak)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix compatibility with Python 3.12: remove use of `distutils` (@MightyCreak)
|
||||||
|
- Fix new errors raised by Flake8 (@MightyCreak)
|
||||||
|
- Fix the error with the CICD due to the use of `appstreamcli` (@MightyCreak)
|
||||||
|
|
||||||
|
## 0.8.2 - 2023-04-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add link to the Matrix room in the README (@MightyCreak)
|
||||||
|
- Dutch translation (@Vistaus)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Replace `_` by `-` in the action names to be compatible with GTK action names (@MightyCreak)
|
||||||
|
- The About dialog is now transient for the main window (@oscfdezdz)
|
||||||
|
- Remove deprecated STOCK constants and use more modern, symbolic icons (@oscfdezdz)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Some signals weren't properly renamed from the previous GTK3 migration (@MightyCreak)
|
||||||
|
- The syntax menu wasn't working anymore (@MightyCreak)
|
||||||
|
- Properly handles SIGINT (i.e. Ctrl+C) now (@MightyCreak)
|
||||||
|
- Add back `save_state()` to remember window's width and height (@MightyCreak)
|
||||||
|
|
||||||
|
## 0.8.1 - 2023-04-07
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Remove log function calls from the stack trace when calling `logDebug` or
|
||||||
|
`logError` (@MightyCreak)
|
||||||
|
- Log functions used to log only on stderr, now `logDebug` logs on stdout and
|
||||||
|
`logError` logs on stderr (@MightyCreak)
|
||||||
|
- Change Git default branch from `master` to `main` (@MightyCreak)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Shortcuts were not working since the move to Gtk.Application
|
||||||
|
(issue [#188](https://github.com/MightyCreak/diffuse/issues/188)) (@MightyCreak)
|
||||||
|
|
||||||
|
## 0.8.0 - 2023-04-03
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Language: initial support for Rust language (@alopatindev)
|
||||||
|
- Translation: added Turkish translation (@libreajans)
|
||||||
|
- Translation: added Georgian translation (@NorwayFun)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Translation: updated Swedish translation (@eson57)
|
||||||
|
- Dialog: prompt only once if several files needs to be reloaded (@yuriiz)
|
||||||
|
- Use GTK3's Gtk.Application/Gtk.ApplicationWindow (@yuriiz)
|
||||||
|
- Split `DiffuseApplication` and `DiffuseWindow` classes in their own files (@MightyCreak)
|
||||||
|
- Use new Meson (from 0.50 to 0.55) and fixed deprecation warnings (@MightyCreak)
|
||||||
|
- Update from GNOME 42 to GNOME 44 (@MightyCreak)
|
||||||
|
- Use GitHub Pages to generate the new website (@MightyCreak)
|
||||||
|
- Mac: fix the shortcut for first/previous/next/last differences, now uses ⌘
|
||||||
|
instead of Ctrl (@krlmlr)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- "Go to line..." dialog didn't show up (@MightyCreak)
|
||||||
|
- Tech debt: use `transient_for` instead of the deprecated `parent` when creating
|
||||||
|
a `Gtk.Widget` (@MightyCreak)
|
||||||
|
- Documentation: prefer `pip3` over `pip` to ensure it works everywhere (@krlmlr)
|
||||||
|
- Flatpak: add missing `--filesystem=xdg-run/gvfsd` privilege (@MightyCreak)
|
||||||
|
|
||||||
|
## 0.7.7 - 2022-10-23
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Translation: updated Spanish translation (@oscfdezdz)
|
||||||
|
- Translation: updated POT file
|
||||||
|
- Translation: fixed issue with commented string that still needs translation
|
||||||
|
|
||||||
|
## 0.7.6 - 2022-10-23
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Port to Mac OS (@hugoholgersson)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Documentation: added dev setup for MacOS
|
||||||
|
- Documentation: updated the dependencies
|
||||||
|
- CI/CD: GitHub actions warnings
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed MyPy errors
|
||||||
|
|
||||||
|
## 0.7.5 - 2022-04-15
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Documentation: added release process instructions
|
||||||
|
- Translation: added French translation
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed #156: Preferences cannot be saved in latest release
|
||||||
|
- Cleanups: use constructors instead of `new()` whenever possible in GTK
|
||||||
|
classes
|
||||||
|
|
||||||
|
## 0.7.4 - 2022-04-03
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Added a `--remove-obsolete` option for the update-translation.py script
|
||||||
|
- Added links to VCSs in README.md
|
||||||
|
- New keyword in config file: "option"
|
||||||
|
- Added instructions to install and run from a custom directory
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Updated the translation files
|
||||||
|
- Renamed POTFILES.in to POTFILES
|
||||||
|
- Renamed io.github.mightycreak.Diffuse.metadata.xml.in to
|
||||||
|
io.github.mightycreak.Diffuse.appdata.xml.in
|
||||||
|
- Leaner README.md
|
||||||
|
- Moved the documentation to docs/
|
||||||
|
- Renamed application name from "Diffuse Merge Tool" to "Diffuse"
|
||||||
|
- Linters can be run sooner (before installation)
|
||||||
|
- Better messages when an error occurs while parsing the config file
|
||||||
|
- Start converting the code to static types
|
||||||
|
- Add more information about the dependencies in the documentation
|
||||||
|
- Upgrade Flatpak GNOME's runtime to 42
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Removed the lasting lint errors (i.e. in main.py)
|
||||||
|
- Fix Flatpak runtime version in documentation
|
||||||
|
|
||||||
|
## 0.7.3 - 2021-11-22
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Added linters (flake8 and mypy) and fixed some errors
|
||||||
|
- Added lint jobs for both in the CI
|
||||||
|
- Added a flatpak job in the CI
|
||||||
|
- Created a requirements.dev.txt just for the developers
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- main.py slimmed down by about 5000 lines
|
||||||
|
- The new widgets.py is a bit fat though (~4000 lines)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The intense code cleaning seems to have fixed a bug with the `-c` argument
|
||||||
|
(#120)
|
||||||
|
|
||||||
|
## 0.7.2 - 2021-11-18
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- New options: log_print_output and log_print_stack, to print the log messages
|
||||||
|
on the output and code stack
|
||||||
|
- New log function: utils.logErrorAndDialog, to both log and show a dialog
|
||||||
|
message
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Modularized the VCSs (reducing main.py by around 1300 lines)
|
||||||
|
- Bump GNOME runtime version from 3.38 to 41
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed 'APP_NAME' error when opening non existing file
|
||||||
|
- Fixed the Portuguese Brazilian (pt_BR) translation
|
||||||
|
|
||||||
|
## 0.7.1 - 2021-11-17
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed #103: the flatpak app can now call binaries on the host, such as `git`,
|
||||||
|
`svn`, etc. (PR #105)
|
||||||
|
|
||||||
|
## 0.7.0 - 2021-11-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Added MetaInfo file
|
||||||
|
- New SVG icon (thanks @creepertron95, @jimmac and @freddii)
|
||||||
|
- Started modularizing the code
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Changed AppID to io.github.mightycreak.Diffuse (as explained in
|
||||||
|
[Flatpak documentation](https://docs.flatpak.org/en/latest/conventions.html#application-ids))
|
||||||
|
- Renamed `translations/` to `po/`
|
||||||
|
- Now uses POTFILES.in to list the files to translate
|
||||||
|
- Translation strings are no longer sorted alphabetically, this will help when
|
||||||
|
there will be several files in POTFILES.in
|
||||||
|
- Updated the documentation and script in the `po/` directory
|
||||||
|
- Add .desktop translations in .po files
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed some GTK deprecation warnings
|
||||||
|
|
||||||
|
## 0.6.0 - 2020-11-29
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- New Flatpak package, published on Flathub: com.github.mightycreak.Diffuse
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Replace old install.py with the more standard Meson
|
||||||
|
- Remove `u` string prefixes since Python 3 is in UTF-8 by default
|
||||||
|
- Replaced some interpolation operators (`%`) for the `f` string prefix
|
||||||
|
- Use the window scale factor for the icons generation
|
||||||
|
|
||||||
|
## 0.5.0 - 2020-07-18
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- added Pedro Albuquerque's Portuguese translation
|
||||||
|
- added Åke Engelbrektson's Swedish translation
|
||||||
|
- added Guillaume Hoffmann's Darcs support improvements
|
||||||
|
- added support for Git submodules
|
||||||
|
- added Akom Chotiphantawanon's Thai translation
|
||||||
|
- added a preference and command line option to specify the version control
|
||||||
|
system search order
|
||||||
|
- added .editorconfig file
|
||||||
|
- added .gitignore file
|
||||||
|
- added message when removing files during uninstallation
|
||||||
|
- added Python script to update all the translation files at once
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- convert to Python 3
|
||||||
|
- convert to GTK 3
|
||||||
|
- updated Python highlighting for Python 3 grammar
|
||||||
|
- updated copyrights years and authors
|
||||||
|
- improve Spanish translation
|
||||||
|
- convert translation README to MarkDown
|
||||||
|
- updated all the translation files
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed wrong icons directory for gtk-update-icon-cache
|
||||||
|
- fixed missing directories when uninstalling
|
||||||
|
- fixed bug introduced by r420 with RCS VCS
|
||||||
|
- fixed broken drag'n'drop since migration to Python3/GTK3
|
||||||
|
- fixed error when using '-m' in an SVN repo
|
||||||
|
|
||||||
|
## 0.4.8 - 2014-07-18
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- updated use of gtk.SpinButton and gtk.Entry to avoid quirks seen on some platforms
|
||||||
|
- updated C/C++ syntax highlighting to recognise C11/C++11 keywords
|
||||||
|
- improved image quality of icons
|
||||||
|
- added Chi Ming and Wei-Lun Chao's Traditional Chinese translation
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed a bug that prevented Diffuse from reviewing large git merge conflicts
|
||||||
|
- fixed a bug that prevented drag-and-drop of file paths with non-ASCII characters
|
||||||
|
|
||||||
|
## 0.4.7 - 2013-05-13
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- added Jindřich Šesták's Czech translation
|
||||||
|
- improved character editing to allow easy indenting and moving the cursor by
|
||||||
|
whole words
|
||||||
|
- added Miś Uszatek's Polish translation
|
||||||
|
- improved auto-detection of utf_16 and utf_32
|
||||||
|
- added "New N-Way File Merge..." menu item
|
||||||
|
- added syntax highlighting for Erlang and OpenCL files
|
||||||
|
|
||||||
|
## 0.4.6 - 2011-11-02
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- added support for Subversion 1.7
|
||||||
|
- added "Open Commit..." menu item
|
||||||
|
- "-c" option now works for all supported version control systems
|
||||||
|
- Git support distinguishes between staged and unstaged files
|
||||||
|
- added syntax highlighting for R files
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed a bug that caused the wrong revision to be shown when working on a
|
||||||
|
branch in Mercurial
|
||||||
|
|
||||||
|
## 0.4.5 - 2011-07-13
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- added syntax highlighting for JSON files
|
||||||
|
- added menu items and keyboard shortcuts for "First Tab" and "Last Tab"
|
||||||
|
- added "--line" command line option
|
||||||
|
- Diffuse now uses a patience diff-based algorithm to align lines
|
||||||
|
- added command line option to specify a label to display instead of the file name
|
||||||
|
- added preference to display the right margin
|
||||||
|
- added Cristian Marchi's Italian translation
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- state information is now stored in ~/.local/share/diffuse
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed a bug in CVS and Subversion support that prevented Diffuse from
|
||||||
|
displaying some removed files
|
||||||
|
- fixed a bug that caused deleted files to be ignored when using the '-m' option
|
||||||
|
- fixed a bug that incorrectly encoded pasted text if utf_8 was not specified in
|
||||||
|
the Region Settings preferences
|
||||||
|
- fixed a bug that could cause "Save As..." to fail with some user specified encodings
|
||||||
|
|
||||||
|
## 0.4.4 - 2010-10-21
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Git support now recognises conflicts when re-applying the stash
|
||||||
|
- search dialog is now automatically populated with the currently selected text
|
||||||
|
- added Oleg Pakhtusov's Russian translation
|
||||||
|
- added Kang Bundo's Korean translation
|
||||||
|
- pane headers tooltips
|
||||||
|
- Shift-ScrollWheel can now be used to scroll horizontally
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- double clicking on text can now select full words with non-English characters
|
||||||
|
- fixed a bug that prevented opening files with non-ASCII characters in their path
|
||||||
|
|
||||||
|
## 0.4.3 - 2010-04-15
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed a bug that prevented the "-m" option from opening a 3-way merge for
|
||||||
|
Subversion and Bazaar conflicts
|
||||||
|
|
||||||
|
## 0.4.2 - 2010-04-13
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- support for detached Git repositories
|
||||||
|
- better removal of unnecessary spacer lines
|
||||||
|
- added support for horizontal mouse scrolling
|
||||||
|
- renamed some resources to more user friendly names
|
||||||
|
- RCS support
|
||||||
|
- added Henri Menke's Spanish translation
|
||||||
|
- "#!" interpreter lines are now used to select proper highlighting rules
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- syntax highlighting is now indicated by radio menu items
|
||||||
|
|
||||||
|
## 0.4.1 - 2009-10-12
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- added Japanese translation
|
||||||
|
- added Liu Hao's simplified Chinese translation
|
||||||
|
- added a 'Dismiss All Edits' menu item
|
||||||
|
- localised manuals are now supported on Windows
|
||||||
|
- new command line option for specifying blank file comparison panes
|
||||||
|
- new preference to enable/disable line numbers
|
||||||
|
- added "Undo Close Tab" menu item
|
||||||
|
- added new menu items and buttons for copying lines between panes
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- personal configuration files are now stored in ~/.config/diffuse/ (the README
|
||||||
|
file describes how to migrate old settings)
|
||||||
|
- Diffuse now quits if no viewers were created with the -m option
|
||||||
|
- replaced "Closing last tab quits Diffuse" preference with a "Warn me when
|
||||||
|
closing a tab will quit Diffuse" preference
|
||||||
|
- MMB on a notebook tab now closes the tab
|
||||||
|
- RMB on a notebook tab creates a popup menu to set the current page
|
||||||
|
- changed the default hotkeys for merging to reflect the direction text "moves"
|
||||||
|
|
||||||
|
## 0.4.0 - 2009-08-17
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- added format menu with new items for changing case, sorting, and manipulating
|
||||||
|
white space
|
||||||
|
- optimised redraws when only the cursor position has changed
|
||||||
|
- input methods that use pre-editing can now be used when editing text
|
||||||
|
- dead keys can now be used when editing text
|
||||||
|
- updated Monotone support to use 'mtn automate inventory'
|
||||||
|
- Git support now handles files flagged as 'unmerged'
|
||||||
|
- added version control section to the manual
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- replaced 'Hide end of line characters' preference with 'Show white space characters'
|
||||||
|
- errors are now reported in a dialogue instead of printing to stderr
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- graceful handling of non-zero exit codes from 'git status'
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.3.4 - 2009-07-03
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- syntax highlighting for .plist, GLSL, SConscript, and SConstruct files
|
||||||
|
- status bar now explains how to navigate between modes
|
||||||
|
- added labels to indicate syntax highlighting rules, encoding, and format
|
||||||
|
- Subversion 1.6 support
|
||||||
|
- added Henri Menke's German translation
|
||||||
|
- added '--examplesdir=' and '--mandir=' options to install.py
|
||||||
|
- renamed the '--python-interpreter=' installer option to '--pythonbin='
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.3.3 - 2009-04-13
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed a bug handling the backspace key with the cursor in the first column
|
||||||
|
|
||||||
|
## 0.3.2 - 2009-04-13
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- POSIX installer with `--destdir=` and `--files-only` options for packagers
|
||||||
|
- vi-like keybindings for line mode
|
||||||
|
- `-m` option to open modified files in separate tabs
|
||||||
|
- 'Merge From Left Then Right' and 'Merge From Right Then Left' menu items
|
||||||
|
- drag-n-drop support
|
||||||
|
- preferences for behaviour of tabs
|
||||||
|
- files with edits now tagged with '*'
|
||||||
|
- auto indent
|
||||||
|
- 'Open File In New Tab...' and 'Open Modified Files...' menu items
|
||||||
|
- 'Save All' menu item
|
||||||
|
- mac-style line ending support
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- new end of line display behaviour
|
||||||
|
- improved organisation of menu items
|
||||||
|
- errors are now reported on stderr
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- button bar no longer grabs keyboard focus
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- removed dependence on urllib module
|
||||||
|
- removed TODO list
|
||||||
|
|
||||||
|
## 0.3.1 - 2009-03-05
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fixed a typo that broke the 'Find...' dialogue
|
||||||
|
|
||||||
|
## 0.3.0 - 2009-03-03
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- new Windows installer
|
||||||
|
- notification on focus change when files change on disk
|
||||||
|
- menu items for adjusting indentation
|
||||||
|
- syntax highlighting for Objective-C++
|
||||||
|
- `-c` option now works with CVS-style revision numbers
|
||||||
|
- window title now describes current tab
|
||||||
|
- search settings now persist across sessions
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.2.15 - 2008-12-03
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- smoother scrolling
|
||||||
|
- panes and tabs can now be manually re-organised
|
||||||
|
- preferences for tab key behaviour
|
||||||
|
- 'go to line' menu item
|
||||||
|
- '-c' option for viewing the changes of a particular commit
|
||||||
|
- home/end keys can now be used in line mode
|
||||||
|
- confirmation requested before overriding changed files
|
||||||
|
- position of window now saved
|
||||||
|
- syntax files for more file types
|
||||||
|
- reading /etc/diffuserc now optional when using a personal configuration file
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.2.14 - 2008-10-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- svk support
|
||||||
|
- syntax files for more file types
|
||||||
|
- DOS / Unix line endings now respected in edit operations
|
||||||
|
- improved difference map
|
||||||
|
- more robust launching of help browsers
|
||||||
|
- man page
|
||||||
|
- command line display options
|
||||||
|
- file revisions can now be specified in the open file dialogue
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- moved some resources to the preferences dialogue
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.2.13 - 2008-05-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- bazaar, darcs, and monotone support
|
||||||
|
- configurable key bindings
|
||||||
|
- persistent preference settings
|
||||||
|
- optimisations
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.2.12 - 2008-05-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- alternate codecs for reading and writing files
|
||||||
|
- more search options
|
||||||
|
- editor support for primary selection
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor bug fixes
|
||||||
|
|
||||||
|
## 0.2.11 - 2008-04-27
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- cvs, subversion, git, mercurial support
|
||||||
|
- python re-write
|
||||||
|
- syntax highlighting
|
||||||
|
- search and replace
|
||||||
|
- customisable through configuration files
|
||||||
|
- tabbed viewer panes
|
||||||
|
|
||||||
|
## 0.1.14 - 2006-01-28
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initial public release
|
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
21
LICENSE
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2022 miguel
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
159
README.md
|
@ -1,115 +1,76 @@
|
||||||
![godot-gamejam](logo.png)
|
<h1 align="center">
|
||||||
|
<img
|
||||||
|
src="./data/icons/hicolor/scalable/apps/io.github.mightycreak.Diffuse.svg"
|
||||||
|
alt="Diffuse"
|
||||||
|
width="192"
|
||||||
|
height="192"/><br/>
|
||||||
|
</h1>
|
||||||
|
|
||||||
**🤖 Godot Engine 4.0 template to better get started for gamejams with your game!**
|
<p align="center" style="margin-top: 2em">
|
||||||
|
<a href="https://flathub.org/apps/details/io.github.mightycreak.Diffuse">
|
||||||
|
<img width="200" alt="Download on Flathub" src="https://flathub.org/assets/badges/flathub-badge-en.png"/>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
![](https://img.shields.io/badge/Godot%20Compatible-4.0%2B-%234385B5) [![](https://img.shields.io/discord/785246324793540608.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.com/invite/CKBuE5djXe)
|
<p align="center">
|
||||||
|
<a href="https://github.com/MightyCreak/diffuse/actions/workflows/ci.yml">
|
||||||
|
<img
|
||||||
|
src="https://github.com/MightyCreak/diffuse/actions/workflows/ci.yml/badge.svg"
|
||||||
|
alt="CI status"/>
|
||||||
|
</a>
|
||||||
|
<a href="https://repology.org/project/diffuse/versions">
|
||||||
|
<img src="https://repology.org/badge/tiny-repos/diffuse.svg" alt="Packaging status">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
# 🧪 Features
|
Diffuse is a graphical tool for merging and comparing text files. Diffuse is
|
||||||
|
able to compare an arbitrary number of files side-by-side and gives users the
|
||||||
|
ability to manually adjust line matching and directly edit files. Diffuse can
|
||||||
|
also retrieve revisions of files from several VCSs for comparison and merging.
|
||||||
|
|
||||||
### 🌌 **Game Settings**
|
Some key features of Diffuse:
|
||||||
|
|
||||||
This template project comes with game settings out of the box:
|
* Ability to compare and merge an arbitrary number of files side-by-side (n-way
|
||||||
|
merges)
|
||||||
|
* Line matching can be manually corrected by the user
|
||||||
|
* Ability to directly edit files
|
||||||
|
* Syntax highlighting
|
||||||
|
* Supports several VCS: [Bazaar][bzr], [CVS][cvs], [Darcs][darcs], [Git][git],
|
||||||
|
[Mercurial][hg], [Monotone][mtn], [RCS][rcs] and [Subversion][svn]
|
||||||
|
* Unicode support
|
||||||
|
* Unlimited undo
|
||||||
|
* Easy keyboard navigation
|
||||||
|
|
||||||
- **Audio volume** (Master, Sound, Music)
|
[bzr]: https://bazaar.canonical.com
|
||||||
- **Game Language** (English only by default)
|
[cvs]: https://cvs.nongnu.org
|
||||||
|
[darcs]: http://darcs.net
|
||||||
|
[git]: https://git-scm.com
|
||||||
|
[hg]: https://www.mercurial-scm.org
|
||||||
|
[mtn]: https://www.monotone.ca
|
||||||
|
[rcs]: https://www.gnu.org/software/rcs/
|
||||||
|
[svn]: https://subversion.apache.org
|
||||||
|
|
||||||
### ✨ **Bootsplash scene support**
|
## Documentation
|
||||||
|
|
||||||
Either use the default Godot bootsplash or define your own logo bootsplashes!
|
For a more detailed documentation for users, translators and developers, see
|
||||||
|
the [documentation](docs/).
|
||||||
|
|
||||||
### 🎩 Basic menu flow (main menu, settings, pause)
|
## Contact
|
||||||
|
|
||||||
This project comes with basic menu navigation that allows you to navigate between ingame, settings and quitting the game.
|
Discuss with us on Matrix at [#diffuse:matrix.org](https://matrix.to/#/#diffuse:matrix.org).
|
||||||
|
|
||||||
### 💾 Save Game Integration
|
## Licenses
|
||||||
|
|
||||||
Automatically saves the state of the game on exit. Starting a new game overrides the existing save game. Any game object that needs to be saved has to be part of the "Persist" group.
|
Diffuse is under the [GPLv2](COPYING).
|
||||||
|
|
||||||
### 🌎 Translation support (i18n)
|
The file [io.github.mightycreak.Diffuse.appdata.xml.in](data/io.github.mightycreak.Diffuse.appdata.xml.in)
|
||||||
|
is licensed under the [FSF-AP](https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html)
|
||||||
|
license.
|
||||||
|
|
||||||
Comes with pre-defined translations that can be extended.
|
Copyright (C) 2006-2019 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
Copyright (C) 2015-2023 Romain Failliot <romain.failliot@foolstep.com>
|
||||||
|
|
||||||
### ⏸ Pause Menu
|
Icon made by [@jimmac](https://github.com/jimmac).
|
||||||
|
|
||||||
The `IngameScene` supports a pause menu to temporarily pause the game.
|
This repository is a fork of the original project on SourceForge, which doesn't
|
||||||
|
seem to be maintained anymore: <https://sourceforge.net/projects/diffuse/>.
|
||||||
### _🚀 Automatic [itch.io](https://itch.io) deployment_
|
|
||||||
|
|
||||||
This templates comes with automatic deployment to itch.io for MacOS, Windows, Linux and HTML5 (Web). Delete `.github/workflows/godot-ci.yml` in case you are not interested in deploying to itch.io!
|
|
||||||
|
|
||||||
1. generate new API key in your itch.io settings and setup your `BUTLER_API_KEY` secret - [learn more](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions)
|
|
||||||
2. create a new game on itch.io
|
|
||||||
3. setup `ITCHIO_GAME` and `ITCHIO_USERNAME` secrets in Github and assign them to your itch.io username and game name
|
|
||||||
|
|
||||||
[See working example here](https://github.com/bitbrain/ggj-2023/blob/main/.github/workflows/godot-ci.yml)
|
|
||||||
|
|
||||||
# 🎮 Getting started!
|
|
||||||
|
|
||||||
1. Click `Use this template` in Github ([learn more about Template Repositories](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template))
|
|
||||||
2. Open the project in Godot Engine 4
|
|
||||||
3. Customize it to your needs (see [🧱 Customization](#-customization))
|
|
||||||
4. Open the `IngameScene` and start building your game!
|
|
||||||
|
|
||||||
# 🔌 Compatible Gamejams
|
|
||||||
|
|
||||||
> **Not all gamejams allow project templates!** Please make sure to carefully read the gamejam rules before using this project, otherwise you might **risk being disqualified**!
|
|
||||||
|
|
||||||
Down below is a list of some compatible gamejam formats that permit using this repository as a template:
|
|
||||||
|
|
||||||
- [GoGodotJam](https://gogodotjam.com/the-jam/)
|
|
||||||
- [Ludum Dare](https://ldjam.com/events/ludum-dare/rules)
|
|
||||||
- [GMTK Game Jam](https://itch.io/jam/gmtk-jam-2022)
|
|
||||||
- [Brackeys Gamejam](https://itch.io/jam/brackeys-7)
|
|
||||||
- [Global Game Jam](https://globalgamejam.org/news/be-cool-rules)
|
|
||||||
- [GameDevLondon Summer Jam](https://itch.io/jam/game-dev-london-summer-jam-2021)
|
|
||||||
- [Godot Wild Jam](https://itch.io/jam/godot-wild-jam-49)
|
|
||||||
|
|
||||||
# 🧱 Customization
|
|
||||||
|
|
||||||
This project is built to be as generic as possible and it can be fully adjusted to your needs.
|
|
||||||
|
|
||||||
## Defining custom UI theme
|
|
||||||
|
|
||||||
Search for the file `theme.tres` and open it. The [Godot theme editor](https://docs.godotengine.org/en/stable/tutorials/ui/gui_using_theme_editor.html) should appear. Feel free to customise the UI to your needs. Any `Control` node will use this theme by default:
|
|
||||||
|
|
||||||
![custom-theme](docs/custom-theme.png)
|
|
||||||
|
|
||||||
## Choosing 2D vs 3D
|
|
||||||
|
|
||||||
This toolkit is not limited to either 2D or 3D. It has been kept vague on purpose so feel free to build 2D or 3D scenes with it!
|
|
||||||
|
|
||||||
## Custom boot splash
|
|
||||||
|
|
||||||
Within Godot Engine, head to `scenes/boot` to access boot splash scenes. You can create your custom bootsplash by either modifying `GodotBootsplashScene` or creating a new node of type `Control`. Add `BootsplashScene` as a child and configure its properties as follows:
|
|
||||||
|
|
||||||
- `Fade Duration` - the amount of time in milliseconds to fade in/out the bootsplash.
|
|
||||||
- `Stay Duration` - the amount of time in milliseconds the bootsplash should stay.
|
|
||||||
- `Node` - the node/scene that should be displayed during the bootsplash.
|
|
||||||
- `Next Scene` - the next scene that should be loaded after the bootsplash has finished.
|
|
||||||
- `Interruptable ` - wether the bootsplash is interruptable or not.
|
|
||||||
|
|
||||||
## Add new translation
|
|
||||||
|
|
||||||
You will find a translation file in `i18n/translation.csv`. Feel free to extend it to your needs. Godot will automatically pickup the translations if you use them inside your control nodes like `Button` or `Label`. In case you need to manually translate something in a script, call the `tr()` function.
|
|
||||||
|
|
||||||
In case you want to add a new language, add a new column to the `translation.csv` file.
|
|
||||||
|
|
||||||
## Game Settings
|
|
||||||
|
|
||||||
The game settings are managed in `UserSettings.gd`. You can change the defaults by updating `USER_SETTING_DEFAULTS`. You can also add additional properties to extend them.
|
|
||||||
|
|
||||||
The `GameSettings` node and the `GameSettings.gd` script connects to the `UserSettings` by setting it/loading from it.
|
|
||||||
|
|
||||||
## Save game configuration
|
|
||||||
|
|
||||||
By default, save games are enabled. You can toggle support for save games inside `SaveGame.gd` by changing the `ENABLED` property.
|
|
||||||
|
|
||||||
The save game saves any node inside the `IngameScene` that is part of the `Persist` group ([learn more about groups in Godot](https://docs.godotengine.org/en/stable/tutorials/scripting/groups.html)). The save game system will save existing nodes but also nodes that were dynamically added to the scene at runtime!
|
|
||||||
|
|
||||||
Currently, the game will only save the scene when exiting the game via the pause menu.
|
|
||||||
|
|
||||||
# 🍻 Contributing
|
|
||||||
|
|
||||||
Feel free to raise a pull request or suggest any changes or improvements you would like to see!
|
|
||||||
|
|
||||||
> 🐱💻 **PLEASE NOTE:** this project is a template and any contribution should only introduce/extend features that are template related. If something can be its own addon (e.g. movement controller or specific 2D/3D stuff) it probably should be its own (separate) addon.
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
remote_theme: pages-themes/cayman@v0.2.0
|
||||||
|
title: Diffuse
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from os import environ, path
|
||||||
|
from subprocess import call
|
||||||
|
|
||||||
|
prefix = environ.get('MESON_INSTALL_PREFIX', '/usr/local')
|
||||||
|
datadir = path.join(prefix, 'share')
|
||||||
|
destdir = environ.get('DESTDIR', '')
|
||||||
|
|
||||||
|
# Package managers set this so we don't need to run
|
||||||
|
if not destdir:
|
||||||
|
print('Updating icon cache...')
|
||||||
|
call(['gtk-update-icon-cache', '-qtf', path.join(datadir, 'icons', 'hicolor')])
|
||||||
|
|
||||||
|
print('Updating desktop database...')
|
||||||
|
call(['update-desktop-database', '-q', path.join(datadir, 'applications')])
|
||||||
|
|
||||||
|
print('Compiling GSettings schemas...')
|
||||||
|
call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')])
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<gresources>
|
||||||
|
<gresource prefix="/io/github/mightycreak/Diffuse/icons/scalable/actions">
|
||||||
|
<file preprocess="xml-stripblanks" alias="new-2way-merge-symbolic.svg">icons/hicolor/scalable/actions/new-2way-merge-symbolic.svg</file>
|
||||||
|
<file preprocess="xml-stripblanks" alias="new-3way-merge-symbolic.svg">icons/hicolor/scalable/actions/new-3way-merge-symbolic.svg</file>
|
||||||
|
<file preprocess="xml-stripblanks" alias="copy-selection-left-symbolic.svg">icons/hicolor/scalable/actions/copy-selection-left-symbolic.svg</file>
|
||||||
|
<file preprocess="xml-stripblanks" alias="copy-selection-right-symbolic.svg">icons/hicolor/scalable/actions/copy-selection-right-symbolic.svg</file>
|
||||||
|
<file preprocess="xml-stripblanks" alias="copy-left-into-selection-symbolic.svg">icons/hicolor/scalable/actions/copy-left-into-selection-symbolic.svg</file>
|
||||||
|
<file preprocess="xml-stripblanks" alias="copy-right-into-selection-symbolic.svg">icons/hicolor/scalable/actions/copy-right-into-selection-symbolic.svg</file>
|
||||||
|
</gresource>
|
||||||
|
</gresources>
|
|
@ -0,0 +1,7 @@
|
||||||
|
# System-wide initialization file for Diffuse
|
||||||
|
|
||||||
|
option log_print_output @LOG_PRINT_OUTPUT@
|
||||||
|
option log_print_stack @LOG_PRINT_STACK@
|
||||||
|
option use_flatpak @USE_FLATPAK@
|
||||||
|
|
||||||
|
import @PKGDATADIR@/syntax/*.syntax
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M11 14a1 1 0 0 0 .707-.293l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L13.586 9l-3.293 3.293A1 1 0 0 0 11 14zm-4 0a1 1 0 0 0 .707-.293l4-4a1 1 0 0 0 0-1.414l-4-4a1 1 0 1 0-1.414 1.414L8.586 8H4c-1.117 0-2-.883-2-2V3c0-.55-.45-1-1-1s-1 .45-1 1v3c0 .023 0 .047.004.07A4.01 4.01 0 0 0 4 10h4.586l-2.293 2.293A1 1 0 0 0 7 14zm0 0" fill="#2e3436"/></svg>
|
After Width: | Height: | Size: 466 B |
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M5 14a1 1 0 0 1-.707-.293l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 1 1 1.414 1.414L2.414 9l3.293 3.293A1 1 0 0 1 5 14zm4 0a1 1 0 0 1-.707-.293l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 1 1 1.414 1.414L7.414 8H12c1.117 0 2-.883 2-2V3c0-.55.45-1 1-1s1 .45 1 1v3c0 .023 0 .047-.004.07A4.01 4.01 0 0 1 12 10H7.414l2.293 2.293A1 1 0 0 1 9 14zm0 0" fill="#2e3436"/></svg>
|
After Width: | Height: | Size: 460 B |
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#2e3436"><path d="m 9 2.933594 c 4.042969 0 5.890625 3.613281 5.890625 3.613281 l -1.785156 0.902344 s -1.246094 -2.515625 -4.105469 -2.515625 c -2.054688 0 -3.097656 1.394531 -3.484375 2.074218 h 0.910156 c 1.332031 0 1.574219 1.253907 1.574219 2.035157 l -6 -0.046875 l -0.046875 -6 c 1.046875 0 2.035156 0.523437 2.035156 1.667968 v 0.929688 l 0.0625 0.0625 c 0.757813 -1.089844 2.3125 -2.722656 4.949219 -2.722656 z m 0 0"/><path d="m 13.617188 8.996094 c 0.683593 0 1.265624 0.582031 1.265624 1.265625 v 3.46875 c 0 0.683593 -0.582031 1.265625 -1.265624 1.265625 h -3.46875 c -0.683594 0 -1.265626 -0.582032 -1.265626 -1.265625 v -3.46875 c 0 -0.683594 0.582032 -1.265625 1.265626 -1.265625 z m -0.734376 2 h -2 v 2 h 2 z m 0 0"/></g></svg>
|
After Width: | Height: | Size: 881 B |
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#2e3436"><path d="m 7 2.933594 c -4.042969 0 -5.894531 3.613281 -5.894531 3.613281 l 1.785156 0.902344 s 1.25 -2.515625 4.109375 -2.515625 c 2.054688 0 3.097656 1.394531 3.484375 2.074218 h -0.910156 c -1.332031 0 -1.574219 1.253907 -1.574219 2.035157 l 6 -0.046875 l 0.042969 -6 c -1.042969 0 -2.03125 0.523437 -2.03125 1.667968 v 0.929688 l -0.0625 0.0625 c -0.757813 -1.089844 -2.316407 -2.722656 -4.949219 -2.722656 z m 0 0"/><path d="m 2.382812 8.996094 c -0.683593 0 -1.265624 0.582031 -1.265624 1.265625 v 3.46875 c 0 0.683593 0.582031 1.265625 1.265624 1.265625 h 3.46875 c 0.683594 0 1.265626 -0.582032 1.265626 -1.265625 v -3.46875 c 0 -0.683594 -0.582032 -1.265625 -1.265626 -1.265625 z m 0.734376 2 h 2 v 2 h -2 z m 0 0"/></g></svg>
|
After Width: | Height: | Size: 880 B |
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M3.094.25A2.45 2.45 0 0 0 .656 2.688v8.124c0 1.324 1.18 2.416 2.5 2.436v.064a2.45 2.45 0 0 0 2.438 2.438H8.03a.814.814 0 0 0 0-1.625H5.594a.794.794 0 0 1-.813-.813V5.187c0-.463.35-.812.813-.812h4.539l2.773 2.773v.477a.814.814 0 0 0 1.625 0v-.813a.812.812 0 0 0-.238-.574l-3.102-3.101-.148-.149-2.5-2.5A.812.812 0 0 0 7.969.25zm0 1.625H7.63l.875.875H5.594a2.45 2.45 0 0 0-2.438 2.438v6.433c-.45-.018-.875-.358-.875-.809V2.688c0-.464.35-.813.813-.813zM11.28 9.25v2.438H8.844v1.624h2.437v2.438h1.625v-2.438h2.438v-1.624h-2.438V9.25z" fill="#2e3436"/></svg>
|
After Width: | Height: | Size: 665 B |
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.656.25C1.526.25.594 1.182.594 2.313v6.874c0 1.094 1.151 1.999 2.25 2.057v.193c0 1.127 1.123 2.057 2.25 2.063v.187c0 1.131.932 2.063 2.062 2.063H9.22a.689.689 0 0 0 0-1.375H7.156a.672.672 0 0 1-.687-.688V6.812c0-.392.295-.687.687-.687h3.84l2.348 2.348v.402a.688.688 0 0 0 1.375 0v-.688a.687.687 0 0 0-.201-.486l-2.65-2.65-.1-.1-2.15-2.15L7.267.45a.687.687 0 0 0-.487-.2zm0 1.375h3.84l.875.875H4.906c-1.13 0-2.062.932-2.062 2.063v5.302c-.384-.047-.875-.32-.875-.677V2.311c0-.392.295-.687.687-.687zm2.25 2.25h3.84l.875.875H7.156c-1.13 0-2.062.932-2.062 2.063v5.31c-.39-.006-.875-.297-.875-.685V4.561c0-.392.295-.687.687-.687zm7.063 6.375v2.063H9.906v1.374h2.063v2.063h1.375v-2.063h2.062v-1.374h-2.062V10.25z" fill="#2e3436"/></svg>
|
After Width: | Height: | Size: 843 B |
|
@ -0,0 +1,387 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="12.000011" x2="116.000015" y1="116.000069" y2="116.000069">
|
||||||
|
<stop offset="0" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="0.0357143" stop-color="#f6f5f4"/>
|
||||||
|
<stop offset="0.0713653" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="0.928571" stop-color="#deddda"/>
|
||||||
|
<stop offset="0.964286" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="1" stop-color="#c0bfbc"/>
|
||||||
|
</linearGradient>
|
||||||
|
<clipPath id="b">
|
||||||
|
<path d="m 12 12 h 104 v 100 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="c">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient id="d" gradientUnits="userSpaceOnUse" x1="12" x2="116" y1="62" y2="62">
|
||||||
|
<stop offset="0" stop-color="#ffffff"/>
|
||||||
|
<stop offset="0.419312" stop-color="#deddda"/>
|
||||||
|
<stop offset="0.500451" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="0.500451" stop-color="#ffffff"/>
|
||||||
|
<stop offset="0.575083" stop-color="#deddda"/>
|
||||||
|
<stop offset="1" stop-color="#ffffff"/>
|
||||||
|
</linearGradient>
|
||||||
|
<clipPath id="e">
|
||||||
|
<path d="m 64 12 h 16 v 100 h -16 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="f">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="g">
|
||||||
|
<path d="m 48 12 h 16 v 100 h -16 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="h">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="i">
|
||||||
|
<path d="m 68 20 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="j">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="k">
|
||||||
|
<path d="m 68 82 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="l">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="m">
|
||||||
|
<path d="m 68 90 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="n">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="o">
|
||||||
|
<path d="m 56 20 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="p">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="q">
|
||||||
|
<path d="m 56 90 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="r">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="s">
|
||||||
|
<path d="m 12 60 h 104 v 24 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="t">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="u">
|
||||||
|
<path d="m 12 28 h 104 v 30 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="v">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="w">
|
||||||
|
<path d="m 15 55 h 41 v 42 h -41 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="x">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="y">
|
||||||
|
<path d="m 22 62 h 27 v 28 h -27 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="z">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="A">
|
||||||
|
<path d="m 72 15 h 40 v 41 h -40 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="B">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="C">
|
||||||
|
<path d="m 79 22 h 26 v 27 h -26 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="D">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="E">
|
||||||
|
<path d="m 56 27.136719 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="F">
|
||||||
|
<path d="m 20 -42.863281 h 36.265625 c 4.558594 0 7.578125 3.964843 7.578125 8 c 0 -4.007813 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433593 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566407 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="G">
|
||||||
|
<path d="m 12 12 h 104 v 100 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="H">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="I">
|
||||||
|
<path d="m 64 12 h 16 v 100 h -16 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="J">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="K">
|
||||||
|
<path d="m 48 12 h 16 v 100 h -16 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="L">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="M">
|
||||||
|
<path d="m 68 20 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="N">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="O">
|
||||||
|
<path d="m 68 82 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="P">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="Q">
|
||||||
|
<path d="m 68 90 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="R">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="S">
|
||||||
|
<path d="m 56 20 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="T">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="U">
|
||||||
|
<path d="m 56 90 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="V">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="W">
|
||||||
|
<path d="m 12 60 h 104 v 24 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="X">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="Y">
|
||||||
|
<path d="m 12 28 h 104 v 30 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="Z">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="aa">
|
||||||
|
<path d="m 15 55 h 41 v 42 h -41 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ab">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ac">
|
||||||
|
<path d="m 22 62 h 27 v 28 h -27 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ad">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ae">
|
||||||
|
<path d="m 72 15 h 40 v 41 h -40 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="af">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ag">
|
||||||
|
<path d="m 79 22 h 26 v 27 h -26 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ah">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ai">
|
||||||
|
<path d="m 56 27.136719 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="aj">
|
||||||
|
<path d="m 20 -42.863281 h 36.265625 c 4.558594 0 7.578125 3.964843 7.578125 8 c 0 -4.007813 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433593 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566407 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ak">
|
||||||
|
<rect height="128" width="128"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="al">
|
||||||
|
<rect height="128" width="128"/>
|
||||||
|
</clipPath>
|
||||||
|
<filter id="am" height="100%" width="100%" x="0%" y="0%">
|
||||||
|
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||||
|
</filter>
|
||||||
|
<mask id="an">
|
||||||
|
<g clip-path="url(#al)" filter="url(#am)">
|
||||||
|
<g clip-path="url(#ak)">
|
||||||
|
<path d="m 20 40 h 88 c 4.417969 0 8 3.582031 8 8 v 60 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -60 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/>
|
||||||
|
<g clip-path="url(#G)">
|
||||||
|
<g clip-path="url(#H)">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0" fill="url(#d)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#I)">
|
||||||
|
<g clip-path="url(#J)">
|
||||||
|
<path d="m 65 0 h 14 c 0.550781 0 1 0.449219 1 1 v 110 c 0 0.550781 -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 v -110 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0" fill="#77767b" fill-opacity="0.226754"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#K)">
|
||||||
|
<g clip-path="url(#L)">
|
||||||
|
<path d="m 49 0 h 14 c 0.550781 0 1 0.449219 1 1 v 110 c 0 0.550781 -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 v -110 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0" fill="#77767b" fill-opacity="0.226754"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#M)">
|
||||||
|
<g clip-path="url(#N)">
|
||||||
|
<path d="m 70 20 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#O)">
|
||||||
|
<g clip-path="url(#P)">
|
||||||
|
<path d="m 70 82 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#Q)">
|
||||||
|
<g clip-path="url(#R)">
|
||||||
|
<path d="m 70 90 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#S)">
|
||||||
|
<g clip-path="url(#T)">
|
||||||
|
<path d="m 58 20 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#U)">
|
||||||
|
<g clip-path="url(#V)">
|
||||||
|
<path d="m 58 90 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#W)">
|
||||||
|
<g clip-path="url(#X)">
|
||||||
|
<path d="m 62.027344 64.976562 l -2.589844 2.160157 c -2.222656 1.851562 -5.019531 2.863281 -7.910156 2.863281 h -41.527344 v 14 h 41.652344 c 2.777344 0 4.957031 -0.175781 8.921875 -3.28125 l 2.511719 -1.972656 c 2.652343 -3.027344 6.933593 -5.609375 11.976562 -5.722656 h 43.9375 v -13.023438 h -43.226562 c -5.023438 0 -9.886719 1.761719 -13.746094 4.976562 z m 0 0" fill="#554400" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#Y)">
|
||||||
|
<g clip-path="url(#Z)">
|
||||||
|
<path d="m 65.171875 30.828125 l -3.515625 3.515625 c -3.621094 3.621094 -8.535156 5.65625 -13.65625 5.65625 h -38 v 18 h 38 c 4.902344 0 11.007812 -1.589844 14.460938 -5.074219 l 3.492187 -3.523437 c 1.726563 -1.738282 4.386719 -2.550782 6.839844 -2.550782 h 47.207031 v -18.851562 h -48 c -2.5625 0 -5.015625 1.015625 -6.828125 2.828125 z m 0 0" fill="#ffcc00" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#aa)">
|
||||||
|
<g clip-path="url(#ab)">
|
||||||
|
<path d="m 56 76.050781 c 0 11.085938 -8.988281 20.074219 -20.078125 20.074219 c -11.085937 0 -20.074219 -8.988281 -20.074219 -20.074219 c 0 -11.089843 8.988282 -20.078125 20.074219 -20.078125 c 11.089844 0 20.078125 8.988282 20.078125 20.078125 z m 0 0" fill="#aa8800"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#ac)">
|
||||||
|
<g clip-path="url(#ad)">
|
||||||
|
<path d="m 34.085938 62.957031 c 0.65625 0.023438 1.28125 0.300781 1.75 0.765625 l 10.414062 10.421875 c 0.046875 0.039063 0.089844 0.082031 0.132812 0.125 l 1.777344 1.78125 l -1.796875 1.792969 c -0.039062 0.042969 -0.082031 0.085938 -0.125 0.128906 l -10.402343 10.402344 c -1.023438 1.023438 -2.683594 1.023438 -3.703126 0 c -1.023437 -1.019531 -1.023437 -2.679688 0 -3.703125 l 6.003907 -6.003906 h -12.882813 c -1.445312 0 -2.617187 -1.171875 -2.617187 -2.617188 c 0 -1.449219 1.171875 -2.621093 2.617187 -2.621093 h 12.882813 l -6.003907 -6.003907 c -1.023437 -1.023437 -1.023437 -2.679687 0 -3.703125 c 0.46875 -0.472656 1.105469 -0.746094 1.773438 -0.765625 c 0.058594 -0.003906 0.117188 -0.003906 0.179688 0 z m 0 0" fill="#ffffff"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#ae)">
|
||||||
|
<g clip-path="url(#af)">
|
||||||
|
<path d="m 112 35.875 c 0 11.046875 -8.953125 20 -20 20 s -20 -8.953125 -20 -20 s 8.953125 -20 20 -20 s 20 8.953125 20 20 z m 0 0" fill="#f1e86b"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#ag)">
|
||||||
|
<g clip-path="url(#ah)">
|
||||||
|
<path d="m 93.097656 22.832031 c -0.65625 0.027344 -1.277344 0.300781 -1.742187 0.765625 l -10.378907 10.378906 c -0.042968 0.039063 -0.085937 0.082032 -0.128906 0.125 l -1.773437 1.773438 l 1.792969 1.789062 c 0.039062 0.042969 0.082031 0.085938 0.125 0.128907 l 10.363281 10.363281 c 1.019531 1.015625 2.667969 1.015625 3.6875 0 c 1.019531 -1.019531 1.019531 -2.671875 0 -3.691406 l -5.980469 -5.980469 h 12.832031 c 1.441407 0 2.609375 -1.167969 2.609375 -2.609375 s -1.167968 -2.609375 -2.609375 -2.609375 h -12.832031 l 5.980469 -5.980469 c 1.019531 -1.019531 1.019531 -2.671875 0 -3.6875 c -0.46875 -0.472656 -1.101563 -0.746094 -1.765625 -0.765625 c -0.058594 0 -0.121094 0 -0.179688 0 z m 0 0" fill="#554400"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#ai)">
|
||||||
|
<g clip-path="url(#aj)">
|
||||||
|
<path d="m 58 27.136719 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
<mask id="ao">
|
||||||
|
<g filter="url(#am)">
|
||||||
|
<rect fill-opacity="0.8" height="128" width="128"/>
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
<linearGradient id="ap" gradientTransform="matrix(0 0.37 -0.98462 0 295.38501 -30.360001)" gradientUnits="userSpaceOnUse" x1="300" x2="428" y1="235" y2="235">
|
||||||
|
<stop offset="0" stop-color="#f9f06b"/>
|
||||||
|
<stop offset="1" stop-color="#f5c211"/>
|
||||||
|
</linearGradient>
|
||||||
|
<clipPath id="aq">
|
||||||
|
<rect height="128" width="128"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="ar">
|
||||||
|
<rect height="128" width="128"/>
|
||||||
|
</clipPath>
|
||||||
|
<path d="m 20 40 h 88 c 4.417969 0 8 3.582031 8 8 v 60 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -60 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/>
|
||||||
|
<g clip-path="url(#b)">
|
||||||
|
<g clip-path="url(#c)">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0" fill="url(#d)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#e)">
|
||||||
|
<g clip-path="url(#f)">
|
||||||
|
<path d="m 65 0 h 14 c 0.550781 0 1 0.449219 1 1 v 110 c 0 0.550781 -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 v -110 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0" fill="#77767b" fill-opacity="0.226754"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#g)">
|
||||||
|
<g clip-path="url(#h)">
|
||||||
|
<path d="m 49 0 h 14 c 0.550781 0 1 0.449219 1 1 v 110 c 0 0.550781 -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 v -110 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0" fill="#77767b" fill-opacity="0.226754"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#i)">
|
||||||
|
<g clip-path="url(#j)">
|
||||||
|
<path d="m 70 20 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#k)">
|
||||||
|
<g clip-path="url(#l)">
|
||||||
|
<path d="m 70 82 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#m)">
|
||||||
|
<g clip-path="url(#n)">
|
||||||
|
<path d="m 70 90 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#o)">
|
||||||
|
<g clip-path="url(#p)">
|
||||||
|
<path d="m 58 20 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#q)">
|
||||||
|
<g clip-path="url(#r)">
|
||||||
|
<path d="m 58 90 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#s)">
|
||||||
|
<g clip-path="url(#t)">
|
||||||
|
<path d="m 62.027344 64.976562 l -2.589844 2.160157 c -2.222656 1.851562 -5.019531 2.863281 -7.910156 2.863281 h -41.527344 v 14 h 41.652344 c 2.777344 0 4.957031 -0.175781 8.921875 -3.28125 l 2.511719 -1.972656 c 2.652343 -3.027344 6.933593 -5.609375 11.976562 -5.722656 h 43.9375 v -13.023438 h -43.226562 c -5.023438 0 -9.886719 1.761719 -13.746094 4.976562 z m 0 0" fill="#554400" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#u)">
|
||||||
|
<g clip-path="url(#v)">
|
||||||
|
<path d="m 65.171875 30.828125 l -3.515625 3.515625 c -3.621094 3.621094 -8.535156 5.65625 -13.65625 5.65625 h -38 v 18 h 38 c 4.902344 0 11.007812 -1.589844 14.460938 -5.074219 l 3.492187 -3.523437 c 1.726563 -1.738282 4.386719 -2.550782 6.839844 -2.550782 h 47.207031 v -18.851562 h -48 c -2.5625 0 -5.015625 1.015625 -6.828125 2.828125 z m 0 0" fill="#ffcc00" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#w)">
|
||||||
|
<g clip-path="url(#x)">
|
||||||
|
<path d="m 56 76.050781 c 0 11.085938 -8.988281 20.074219 -20.078125 20.074219 c -11.085937 0 -20.074219 -8.988281 -20.074219 -20.074219 c 0 -11.089843 8.988282 -20.078125 20.074219 -20.078125 c 11.089844 0 20.078125 8.988282 20.078125 20.078125 z m 0 0" fill="#aa8800"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#y)">
|
||||||
|
<g clip-path="url(#z)">
|
||||||
|
<path d="m 34.085938 62.957031 c 0.65625 0.023438 1.28125 0.300781 1.75 0.765625 l 10.414062 10.421875 c 0.046875 0.039063 0.089844 0.082031 0.132812 0.125 l 1.777344 1.78125 l -1.796875 1.792969 c -0.039062 0.042969 -0.082031 0.085938 -0.125 0.128906 l -10.402343 10.402344 c -1.023438 1.023438 -2.683594 1.023438 -3.703126 0 c -1.023437 -1.019531 -1.023437 -2.679688 0 -3.703125 l 6.003907 -6.003906 h -12.882813 c -1.445312 0 -2.617187 -1.171875 -2.617187 -2.617188 c 0 -1.449219 1.171875 -2.621093 2.617187 -2.621093 h 12.882813 l -6.003907 -6.003907 c -1.023437 -1.023437 -1.023437 -2.679687 0 -3.703125 c 0.46875 -0.472656 1.105469 -0.746094 1.773438 -0.765625 c 0.058594 -0.003906 0.117188 -0.003906 0.179688 0 z m 0 0" fill="#ffffff"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#A)">
|
||||||
|
<g clip-path="url(#B)">
|
||||||
|
<path d="m 112 35.875 c 0 11.046875 -8.953125 20 -20 20 s -20 -8.953125 -20 -20 s 8.953125 -20 20 -20 s 20 8.953125 20 20 z m 0 0" fill="#f1e86b"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#C)">
|
||||||
|
<g clip-path="url(#D)">
|
||||||
|
<path d="m 93.097656 22.832031 c -0.65625 0.027344 -1.277344 0.300781 -1.742187 0.765625 l -10.378907 10.378906 c -0.042968 0.039063 -0.085937 0.082032 -0.128906 0.125 l -1.773437 1.773438 l 1.792969 1.789062 c 0.039062 0.042969 0.082031 0.085938 0.125 0.128907 l 10.363281 10.363281 c 1.019531 1.015625 2.667969 1.015625 3.6875 0 c 1.019531 -1.019531 1.019531 -2.671875 0 -3.691406 l -5.980469 -5.980469 h 12.832031 c 1.441407 0 2.609375 -1.167969 2.609375 -2.609375 s -1.167968 -2.609375 -2.609375 -2.609375 h -12.832031 l 5.980469 -5.980469 c 1.019531 -1.019531 1.019531 -2.671875 0 -3.6875 c -0.46875 -0.472656 -1.101563 -0.746094 -1.765625 -0.765625 c -0.058594 0 -0.121094 0 -0.179688 0 z m 0 0" fill="#554400"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#E)">
|
||||||
|
<g clip-path="url(#F)">
|
||||||
|
<path d="m 58 27.136719 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#ar)" mask="url(#an)">
|
||||||
|
<g clip-path="url(#aq)" mask="url(#ao)">
|
||||||
|
<path d="m 128 80.640625 v 47.359375 h -128 v -47.359375 z m 0 0" fill="url(#ap)"/>
|
||||||
|
<path d="m 13.308594 80.640625 l 47.355468 47.359375 h 21.214844 l -47.359375 -47.359375 z m 42.421875 0 l 47.363281 47.359375 h 21.214844 l -47.363282 -47.359375 z m 42.429687 0 l 29.839844 29.839844 v -21.210938 l -8.628906 -8.628906 z m -98.160156 7.90625 v 21.214844 l 18.238281 18.238281 h 21.214844 z m 0 0"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 30 KiB |
|
@ -0,0 +1,185 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="12.000011" x2="116.000015" y1="116.000069" y2="116.000069">
|
||||||
|
<stop offset="0" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="0.0357143" stop-color="#f6f5f4"/>
|
||||||
|
<stop offset="0.0713653" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="0.928571" stop-color="#deddda"/>
|
||||||
|
<stop offset="0.964286" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="1" stop-color="#c0bfbc"/>
|
||||||
|
</linearGradient>
|
||||||
|
<clipPath id="b">
|
||||||
|
<path d="m 12 12 h 104 v 100 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="c">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient id="d" gradientUnits="userSpaceOnUse" x1="12" x2="116" y1="62" y2="62">
|
||||||
|
<stop offset="0" stop-color="#ffffff"/>
|
||||||
|
<stop offset="0.419312" stop-color="#deddda"/>
|
||||||
|
<stop offset="0.500451" stop-color="#c0bfbc"/>
|
||||||
|
<stop offset="0.500451" stop-color="#ffffff"/>
|
||||||
|
<stop offset="0.575083" stop-color="#deddda"/>
|
||||||
|
<stop offset="1" stop-color="#ffffff"/>
|
||||||
|
</linearGradient>
|
||||||
|
<clipPath id="e">
|
||||||
|
<path d="m 64 12 h 16 v 100 h -16 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="f">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="g">
|
||||||
|
<path d="m 48 12 h 16 v 100 h -16 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="h">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="i">
|
||||||
|
<path d="m 68 20 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="j">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="k">
|
||||||
|
<path d="m 68 82 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="l">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="m">
|
||||||
|
<path d="m 68 90 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="n">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="o">
|
||||||
|
<path d="m 56 20 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="p">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="q">
|
||||||
|
<path d="m 56 90 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="r">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="s">
|
||||||
|
<path d="m 12 60 h 104 v 24 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="t">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="u">
|
||||||
|
<path d="m 12 28 h 104 v 30 h -104 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="v">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="w">
|
||||||
|
<path d="m 15 55 h 41 v 42 h -41 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="x">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="y">
|
||||||
|
<path d="m 22 62 h 27 v 28 h -27 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="z">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="A">
|
||||||
|
<path d="m 72 15 h 40 v 41 h -40 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="B">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="C">
|
||||||
|
<path d="m 79 22 h 26 v 27 h -26 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="D">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="E">
|
||||||
|
<path d="m 56 27.136719 h 4 v 4 h -4 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="F">
|
||||||
|
<path d="m 20 -42.863281 h 36.265625 c 4.558594 0 7.578125 3.964843 7.578125 8 c 0 -4.007813 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433593 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566407 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0"/>
|
||||||
|
</clipPath>
|
||||||
|
<path d="m 20 40 h 88 c 4.417969 0 8 3.582031 8 8 v 60 c 0 4.417969 -3.582031 8 -8 8 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -60 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#a)"/>
|
||||||
|
<g clip-path="url(#b)">
|
||||||
|
<g clip-path="url(#c)">
|
||||||
|
<path d="m 20 12 h 36.265625 c 4.558594 0 7.578125 3.964844 7.578125 8 c 0 -4.007812 4.105469 -8 8.074219 -8 h 36.082031 c 4.433594 0 8 3.566406 8 8 v 76 c 0 4.433594 -3.566406 8 -8 8 h -35.804688 c -4.273437 0 -8.097656 3.160156 -8.097656 8 c 0 -4.828125 -3.332031 -8 -8.171875 -8 h -35.925781 c -4.433594 0 -8 -3.566406 -8 -8 v -76 c 0 -4.433594 3.566406 -8 8 -8 z m 0 0" fill="url(#d)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#e)">
|
||||||
|
<g clip-path="url(#f)">
|
||||||
|
<path d="m 65 0 h 14 c 0.550781 0 1 0.449219 1 1 v 110 c 0 0.550781 -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 v -110 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0" fill="#77767b" fill-opacity="0.226754"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#g)">
|
||||||
|
<g clip-path="url(#h)">
|
||||||
|
<path d="m 49 0 h 14 c 0.550781 0 1 0.449219 1 1 v 110 c 0 0.550781 -0.449219 1 -1 1 h -14 c -0.550781 0 -1 -0.449219 -1 -1 v -110 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0" fill="#77767b" fill-opacity="0.226754"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#i)">
|
||||||
|
<g clip-path="url(#j)">
|
||||||
|
<path d="m 70 20 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#k)">
|
||||||
|
<g clip-path="url(#l)">
|
||||||
|
<path d="m 70 82 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#m)">
|
||||||
|
<g clip-path="url(#n)">
|
||||||
|
<path d="m 70 90 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#o)">
|
||||||
|
<g clip-path="url(#p)">
|
||||||
|
<path d="m 58 20 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#q)">
|
||||||
|
<g clip-path="url(#r)">
|
||||||
|
<path d="m 58 90 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#s)">
|
||||||
|
<g clip-path="url(#t)">
|
||||||
|
<path d="m 62.027344 64.976562 l -2.589844 2.160157 c -2.222656 1.851562 -5.019531 2.863281 -7.910156 2.863281 h -41.527344 v 14 h 41.652344 c 2.777344 0 4.957031 -0.175781 8.921875 -3.28125 l 2.511719 -1.972656 c 2.652343 -3.027344 6.933593 -5.609375 11.976562 -5.722656 h 43.9375 v -13.023438 h -43.226562 c -5.023438 0 -9.886719 1.761719 -13.746094 4.976562 z m 0 0" fill="#554400" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#u)">
|
||||||
|
<g clip-path="url(#v)">
|
||||||
|
<path d="m 65.171875 30.828125 l -3.515625 3.515625 c -3.621094 3.621094 -8.535156 5.65625 -13.65625 5.65625 h -38 v 18 h 38 c 4.902344 0 11.007812 -1.589844 14.460938 -5.074219 l 3.492187 -3.523437 c 1.726563 -1.738282 4.386719 -2.550782 6.839844 -2.550782 h 47.207031 v -18.851562 h -48 c -2.5625 0 -5.015625 1.015625 -6.828125 2.828125 z m 0 0" fill="#ffcc00" fill-opacity="0.7"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#w)">
|
||||||
|
<g clip-path="url(#x)">
|
||||||
|
<path d="m 56 76.050781 c 0 11.085938 -8.988281 20.074219 -20.078125 20.074219 c -11.085937 0 -20.074219 -8.988281 -20.074219 -20.074219 c 0 -11.089843 8.988282 -20.078125 20.074219 -20.078125 c 11.089844 0 20.078125 8.988282 20.078125 20.078125 z m 0 0" fill="#aa8800"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#y)">
|
||||||
|
<g clip-path="url(#z)">
|
||||||
|
<path d="m 34.085938 62.957031 c 0.65625 0.023438 1.28125 0.300781 1.75 0.765625 l 10.414062 10.421875 c 0.046875 0.039063 0.089844 0.082031 0.132812 0.125 l 1.777344 1.78125 l -1.796875 1.792969 c -0.039062 0.042969 -0.082031 0.085938 -0.125 0.128906 l -10.402343 10.402344 c -1.023438 1.023438 -2.683594 1.023438 -3.703126 0 c -1.023437 -1.019531 -1.023437 -2.679688 0 -3.703125 l 6.003907 -6.003906 h -12.882813 c -1.445312 0 -2.617187 -1.171875 -2.617187 -2.617188 c 0 -1.449219 1.171875 -2.621093 2.617187 -2.621093 h 12.882813 l -6.003907 -6.003907 c -1.023437 -1.023437 -1.023437 -2.679687 0 -3.703125 c 0.46875 -0.472656 1.105469 -0.746094 1.773438 -0.765625 c 0.058594 -0.003906 0.117188 -0.003906 0.179688 0 z m 0 0" fill="#ffffff"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#A)">
|
||||||
|
<g clip-path="url(#B)">
|
||||||
|
<path d="m 112 35.875 c 0 11.046875 -8.953125 20 -20 20 s -20 -8.953125 -20 -20 s 8.953125 -20 20 -20 s 20 8.953125 20 20 z m 0 0" fill="#f1e86b"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#C)">
|
||||||
|
<g clip-path="url(#D)">
|
||||||
|
<path d="m 93.097656 22.832031 c -0.65625 0.027344 -1.277344 0.300781 -1.742187 0.765625 l -10.378907 10.378906 c -0.042968 0.039063 -0.085937 0.082032 -0.128906 0.125 l -1.773437 1.773438 l 1.792969 1.789062 c 0.039062 0.042969 0.082031 0.085938 0.125 0.128907 l 10.363281 10.363281 c 1.019531 1.015625 2.667969 1.015625 3.6875 0 c 1.019531 -1.019531 1.019531 -2.671875 0 -3.691406 l -5.980469 -5.980469 h 12.832031 c 1.441407 0 2.609375 -1.167969 2.609375 -2.609375 s -1.167968 -2.609375 -2.609375 -2.609375 h -12.832031 l 5.980469 -5.980469 c 1.019531 -1.019531 1.019531 -2.671875 0 -3.6875 c -0.46875 -0.472656 -1.101563 -0.746094 -1.765625 -0.765625 c -0.058594 0 -0.121094 0 -0.179688 0 z m 0 0" fill="#554400"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g clip-path="url(#E)">
|
||||||
|
<g clip-path="url(#F)">
|
||||||
|
<path d="m 58 27.136719 c 1.105469 0 2 0.894531 2 2 s -0.894531 2 -2 2 s -2 -0.894531 -2 -2 s 0.894531 -2 2 -2 z m 0 0" fill="#9a9996"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 14 KiB |
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="m 10.667969 1.03125 c -2.410157 0.007812 -4.363281 1.964844 -4.363281 4.375 c 0.003906 2.417969 1.960937 4.375 4.375 4.375 c 2.417968 0 4.375 -1.957031 4.375 -4.375 c 0.003906 -2.417969 -1.957032 -4.375 -4.375 -4.375 c -0.003907 -0.003906 -0.007813 -0.003906 -0.011719 0 z m 0.089843 1.921875 h 0.035157 c 0.144531 0.007813 0.28125 0.066406 0.382812 0.167969 c 0.21875 0.21875 0.21875 0.574218 0 0.796875 l -1 0.996093 h 2.261719 c 0.3125 0 0.5625 0.253907 0.5625 0.566407 c 0 0.308593 -0.25 0.5625 -0.5625 0.5625 h -2.261719 l 1.027344 1 c 0.21875 0.21875 0.21875 0.574219 0 0.792969 s -0.574219 0.21875 -0.796875 0 l -1.972656 -1.945313 c -0.007813 -0.007813 -0.019532 -0.015625 -0.027344 -0.027344 l -0.386719 -0.382812 l 0.386719 -0.386719 c 0.007812 -0.007812 0.015625 -0.015625 0.023438 -0.027344 l 1.949218 -1.945312 c 0.101563 -0.101563 0.234375 -0.160156 0.378906 -0.167969 z m 0 0"/>
|
||||||
|
<path d="m 4.402344 5.875 c -2.511719 0 -4.546875 2.039062 -4.546875 4.546875 c 0 2.511719 2.035156 4.546875 4.546875 4.546875 c 2.507812 0 4.542968 -2.035156 4.542968 -4.546875 c 0 -2.507813 -2.035156 -4.542969 -4.542968 -4.546875 z m 0 0.890625 c 2.019531 0 3.65625 1.636719 3.652344 3.65625 c 0 2.019531 -1.636719 3.65625 -3.652344 3.65625 c -2.019532 0 -3.65625 -1.636719 -3.65625 -3.65625 s 1.636718 -3.65625 3.65625 -3.65625 z m 0 0"/>
|
||||||
|
<path d="m 4.234375 7.765625 c 0.152344 0.007813 0.296875 0.070313 0.402344 0.179687 l 2.089843 2.089844 c 0.011719 0.007813 0.023438 0.019532 0.03125 0.027344 l 0.410157 0.410156 l -0.414063 0.414063 c -0.007812 0.011719 -0.019531 0.023437 -0.027344 0.03125 l -2.121093 2.085937 c -0.234375 0.238282 -0.617188 0.238282 -0.851563 0 c -0.238281 -0.234375 -0.238281 -0.617187 0 -0.851562 l 1.101563 -1.074219 h -2.425781 c -0.335938 0 -0.605469 -0.269531 -0.605469 -0.605469 c 0 -0.332031 0.269531 -0.601562 0.605469 -0.601562 h 2.425781 l -1.070313 -1.074219 c -0.238281 -0.234375 -0.238281 -0.617187 0 -0.851563 c 0.105469 -0.109374 0.253906 -0.175781 0.40625 -0.179687 z m 0 0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
application_id = 'io.github.mightycreak.Diffuse'
|
||||||
|
|
||||||
|
scalable_dir = join_paths('hicolor', 'scalable', 'apps')
|
||||||
|
install_data(
|
||||||
|
join_paths(scalable_dir, ('@0@.svg').format(application_id)),
|
||||||
|
install_dir: join_paths(get_option('datadir'), 'icons', scalable_dir)
|
||||||
|
)
|
||||||
|
|
||||||
|
symbolic_dir = join_paths('hicolor', 'symbolic', 'apps')
|
||||||
|
install_data(
|
||||||
|
join_paths(symbolic_dir, ('@0@-symbolic.svg').format(application_id)),
|
||||||
|
install_dir: join_paths(get_option('datadir'), 'icons', symbolic_dir)
|
||||||
|
)
|
||||||
|
|
||||||
|
if build_machine.system() == 'darwin'
|
||||||
|
install_data('diffuse.icns', install_dir: '/Applications/Diffuse.app/Contents/Resources')
|
||||||
|
endif
|
|
@ -0,0 +1,418 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>io.github.mightycreak.Diffuse</id>
|
||||||
|
<name>Diffuse</name>
|
||||||
|
<summary>Graphical tool for merging and comparing text files</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
Diffuse is a graphical tool for comparing and merging text files. It can retrieve files for comparison from
|
||||||
|
Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, and Subversion repositories.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<supports>
|
||||||
|
<control>pointing</control>
|
||||||
|
<control>keyboard</control>
|
||||||
|
<control>console</control>
|
||||||
|
</supports>
|
||||||
|
|
||||||
|
<metadata_license>FSFAP</metadata_license>
|
||||||
|
<project_license>GPL-2.0-or-later</project_license>
|
||||||
|
<content_rating type="oars-1.1"/>
|
||||||
|
<launchable type="desktop-id">io.github.mightycreak.Diffuse.desktop</launchable>
|
||||||
|
<translation type="gettext">diffuse</translation>
|
||||||
|
<url type="homepage">https://mightycreak.github.io/diffuse/</url>
|
||||||
|
<url type="bugtracker">https://github.com/MightyCreak/diffuse/issues</url>
|
||||||
|
<url type="vcs-browser">https://github.com/MightyCreak/diffuse</url>
|
||||||
|
<url type="translate">https://github.com/MightyCreak/diffuse/blob/main/docs/translators.md</url>
|
||||||
|
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image type="source">https://raw.githubusercontent.com/MightyCreak/diffuse/main/docs/images/screenshot_v0.7.7_main_window.png</image>
|
||||||
|
<caption>Main window</caption>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<image type="source">https://raw.githubusercontent.com/MightyCreak/diffuse/main/docs/images/screenshot_v0.7.7_about_window.png</image>
|
||||||
|
<caption>About window</caption>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
|
||||||
|
<developer_name translatable="no">Romain Failliot</developer_name>
|
||||||
|
<update_contact>romain@foolstep.com</update_contact>
|
||||||
|
|
||||||
|
<releases>
|
||||||
|
<release version="0.9.0" date="2024-01-13">
|
||||||
|
<description>
|
||||||
|
<p>Summary: remove support for SVK, update to GNOME 45, updated Turkish translation.</p>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Update from GNOME 44 to 45 (@sabriunal)</li>
|
||||||
|
<li>Flatpak manifest now runs the tests (@sabriunal)</li>
|
||||||
|
<li>Use appstreamcli instead of the deprecated appstream-util to validate appdata (@sabriunal)</li>
|
||||||
|
<li>Update appdata: add translation tag, vcs-browser and translate URLs (@sabriunal)</li>
|
||||||
|
<li>Translation: mark the developer name and release descriptions as untranslatable (@sabriunal)</li>
|
||||||
|
<li>Translation: update Turkish translation (@sabriunal)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Removed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Remove support for the SVK CVS (@MightyCreak)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fix compatibility with Python 3.12: remove use of distutils (@MightyCreak)</li>
|
||||||
|
<li>Fix new errors raised by Flake8 (@MightyCreak)</li>
|
||||||
|
<li>Fix the error with the CICD due to the use of appstreamcli (@MightyCreak)</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.8.2" date="2023-04-16">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>Use more modern, symbolic icons, add Dutch translation, and a couple of small fixes.</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Add link to the Matrix room in the README (@MightyCreak)</li>
|
||||||
|
<li>Add Dutch translation (@Vistaus)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Replace `_` by `-` in the action names to be compatible with GTK action names (@MightyCreak)</li>
|
||||||
|
<li>The About dialog is now transient for the main window (@oscfdezdz)</li>
|
||||||
|
<li>Remove deprecated STOCK constants and use more modern, symbolic icons (@oscfdezdz)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Some signals weren't properly renamed from the previous GTK3 migration (@MightyCreak)</li>
|
||||||
|
<li>The syntax menu wasn't working anymore (@MightyCreak)</li>
|
||||||
|
<li>Properly handles SIGINT (i.e. Ctrl+C) now (@MightyCreak)</li>
|
||||||
|
<li>Add back `save_state()` to remember window's width and height (@MightyCreak)</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.8.1" date="2023-04-07">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Fix for the shortcuts that weren't working anymore due to migration to Gtk.Application.
|
||||||
|
</p>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Remove log function calls from the stack trace when calling `logDebug` or `logError` (@MightyCreak)</li>
|
||||||
|
<li>
|
||||||
|
Log functions used to log only on stderr, now `logDebug` logs on stdout and `logError`
|
||||||
|
logs on stderr (@MightyCreak)
|
||||||
|
</li>
|
||||||
|
<li>Change Git default branch from `master` to `main` (@MightyCreak)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Shortcuts were not working since the move to Gtk.Application (issue #188) (@MightyCreak)</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.8.0" date="2023-04-03">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Update to GNOME 44, improved GTK 3 support, initial support for Rust, added Turkish and
|
||||||
|
Georgian translations, and a couple of fixes.
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Language: initial support for Rust language (@alopatindev)</li>
|
||||||
|
<li>Translation: added Turkish translation (@libreajans)</li>
|
||||||
|
<li>Translation: added Georgian translation (@NorwayFun)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Update from GNOME 42 to GNOME 44 (@MightyCreak)</li>
|
||||||
|
<li>Translation: updated Swedish translation (@eson57)</li>
|
||||||
|
<li>Dialog: prompt only once if several files needs to be reloaded (@yuriiz)</li>
|
||||||
|
<li>Use GTK3's Gtk.Application/Gtk.ApplicationWindow (@yuriiz)</li>
|
||||||
|
<li>Split `DiffuseApplication` and `DiffuseWindow` classes in their own files (@MightyCreak)</li>
|
||||||
|
<li>Use new Meson (from 0.50 to 0.55) and fixed deprecation warnings (@MightyCreak)</li>
|
||||||
|
<li>
|
||||||
|
Mac: fix the shortcut for first/previous/next/last differences, now uses ⌘ instead of
|
||||||
|
Ctrl (@krlmlr)
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>"Go to line..." dialog didn't show up (@MightyCreak)</li>
|
||||||
|
<li>
|
||||||
|
Tech debt: use `transient_for` instead of the deprecated `parent` when creating a
|
||||||
|
`Gtk.Widget` (@MightyCreak)
|
||||||
|
</li>
|
||||||
|
<li>Documentation: prefer `pip3` over `pip` to ensure it works everywhere (@krlmlr)</li>
|
||||||
|
<li>Flatpak: add missing `--filesystem=xdg-run/gvfsd` privilege (@MightyCreak)</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.7" date="2022-10-23">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Update translations.
|
||||||
|
</p>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Translation: updated Spanish translation</li>
|
||||||
|
<li>Translation: updated POT file</li>
|
||||||
|
<li>Translation: fixed issue with commented string that still needs translation</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.6" date="2022-10-23">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Add port to Mac OS.
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Port to Mac OS (@hugoholgersson)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Documentation: added dev setup for MacOS</li>
|
||||||
|
<li>Documentation: updated the dependencies</li>
|
||||||
|
<li>CI/CD: GitHub actions warnings</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed MyPy errors</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.5" date="2022-04-15">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Crashfix and French translation.
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Documentation: added release process instructions</li>
|
||||||
|
<li>Translation: added French translation</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed #156: Preferences cannot be saved in latest release</li>
|
||||||
|
<li>Cleanups: use constructors instead of `new()` whenever possible in GTK classes</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.4" date="2022-04-03">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Mainly a maintenance release. It does increase the GNOME SDK's version.
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Added a `--remove-obsolete` option for the update-translation.py script</li>
|
||||||
|
<li>Added links to VCSs in README.md</li>
|
||||||
|
<li>New keyword in config file: "option"</li>
|
||||||
|
<li>Added instructions to install and run from a custom directory</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Updated the translation files</li>
|
||||||
|
<li>Renamed POTFILES.in to POTFILES</li>
|
||||||
|
<li>Renamed io.github.mightycreak.Diffuse.metadata.xml.in to io.github.mightycreak.Diffuse.appdata.xml.in</li>
|
||||||
|
<li>Leaner README.md</li>
|
||||||
|
<li>Moved the documentation to docs/</li>
|
||||||
|
<li>In the CI, call the linters on the installed directory</li>
|
||||||
|
<li>Renamed application name from "Diffuse Merge Tool" to "Diffuse"</li>
|
||||||
|
<li>Linters can be run sooner (before installation)</li>
|
||||||
|
<li>Better messages when an error occurs while parsing the config file</li>
|
||||||
|
<li>Start converting the code to static types</li>
|
||||||
|
<li>Add more information about the dependencies in the documentation</li>
|
||||||
|
<li>Upgrade Flatpak GNOME's runtime to 42</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>>Removed the lasting lint errors (i.e. in main.py)</li>
|
||||||
|
<li>>Fix Flatpak runtime version in documentation</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.3" date="2021-11-22">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Patch release that introduces linters (flake8 and mypy).
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Added linters (flake8 and mypy) and fixed some errors</li>
|
||||||
|
<li>Added lint jobs for both in the CI</li>
|
||||||
|
<li>Added a flatpak job in the CI</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>main.py slimmed down by about 5000 lines</li>
|
||||||
|
<li>The new widgets.py is a bit fat though (~4000 lines)</li>
|
||||||
|
<li>Updated the translation files</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
The intense code cleaning seems to have fixed a bug with the `-c` argument (#120)
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.2" date="2021-11-18">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Patch release that fixes an error about APP_NAME and the Brazilian translation.
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
New options: log_print_output and log_print_stack, to print the log
|
||||||
|
messages on the output and code stack
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
New log function: utils.logErrorAndDialog, to both log and show a
|
||||||
|
dialog message
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Modularized the VCSs (reducing main.py by around 1300 lines)</li>
|
||||||
|
<li>Bump GNOME runtime version from 3.38 to 41</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed 'APP_NAME' error when opening non existing file</li>
|
||||||
|
<li>Fixed the Portuguese Brazilian (pt_BR) translation</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.1" date="2021-11-17">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Patch release to fix a bug when using the Flatpak package.
|
||||||
|
</p>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Fixed a Flatpak bug where the app couldn't call binaries on the
|
||||||
|
host, such as `git`, `svn`, etc.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.7.0" date="2021-11-16">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
With this release, the main end-user change is the new icon. The rest
|
||||||
|
is mainly maintenance improvements with a much more standard folder
|
||||||
|
structure and starting to modularize the code. This is an ongoing
|
||||||
|
effort as there is still a lot to do, but hopefully this would
|
||||||
|
motivate some to contribute ;)
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
An important note though: the application ID has changed and is now
|
||||||
|
io.github.mightycreak.Diffuse.
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>New icon and in SVG now</li>
|
||||||
|
<li>Started to modularize the code</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Changed AppID to io.github.mightycreak.Diffuse (as advised in the
|
||||||
|
Flatpak documentation)
|
||||||
|
</li>
|
||||||
|
<li>Renamed directory `translations/` to `po/`</li>
|
||||||
|
<li>Now uses POTFILES.in to list the files to translate</li>
|
||||||
|
<li>
|
||||||
|
Translation strings are no longer sorted alphabetically, this will
|
||||||
|
help when there will be several files in POTFILES.in
|
||||||
|
</li>
|
||||||
|
<li>Updated the documentation and script in the `po/` directory</li>
|
||||||
|
<li>Add .desktop translations in .po files</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed some GTK deprecation warnings</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.6.0" date="2020-11-29">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Mainly under the hood changes in this release, so nothing really
|
||||||
|
visible to the users in this version. That said, I figured it was a
|
||||||
|
long time since the last release (4 months ago) and, as promised, I
|
||||||
|
want Diffuse development to be a bit more active and iterative.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Apart from the maintenance changes 🧰, I think the main improvement
|
||||||
|
is that Diffuse will soon be available through Flathub!
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>New Flatpak package, published on Flathub: com.github.mightycreak.Diffuse</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Replace old install.py with the more standard Meson</li>
|
||||||
|
<li>Remove u string prefixes since Python 3 is in UTF-8 by default</li>
|
||||||
|
<li>Replaced some interpolation operators (%) for the f string prefix</li>
|
||||||
|
<li>Use the window scale factor for the icons generation</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release version="0.5.0" date="2020-07-18">
|
||||||
|
<description translatable="no">
|
||||||
|
<p>
|
||||||
|
Here is the v0.5.0. Unintentionally, this release happens exactly 6
|
||||||
|
years after the previous v0.4.8 release!
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
There is a lot to do on this application, and some features didn't
|
||||||
|
make the release. The main one being the Windows installers. I think
|
||||||
|
6 years is too long to continue to wait until this bug is fixed. The
|
||||||
|
Python scripts should work on Windows, but no executable is produced
|
||||||
|
(yet) with the release.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Other than that, Diffuse v0.5.0 is now officially compatible with
|
||||||
|
Python 3 and GTK 3! And it is synced to the latest commits from
|
||||||
|
upstream (which were never released).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The next version will not take 6 years, I promise you! 😄
|
||||||
|
</p>
|
||||||
|
<p>Added:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Added Pedro Albuquerque's Portuguese translation</li>
|
||||||
|
<li>Added Åke Engelbrektson's Swedish translation</li>
|
||||||
|
<li>Added Guillaume Hoffmann's Darcs support improvements</li>
|
||||||
|
<li>Added Akom Chotiphantawanon's Thai translation</li>
|
||||||
|
<li>Added support for Git submodules</li>
|
||||||
|
<li>Added a preference and command line option to specify the version control system search order</li>
|
||||||
|
<li>Added .editorconfig file</li>
|
||||||
|
<li>Added .gitignore file</li>
|
||||||
|
<li>Added message when removing files during uninstallation</li>
|
||||||
|
<li>Added Python script to update all the translation files at once</li>
|
||||||
|
</ul>
|
||||||
|
<p>Changed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Convert to Python 3</li>
|
||||||
|
<li>Convert to GTK 3</li>
|
||||||
|
<li>Updated Python highlighting for Python 3 grammar</li>
|
||||||
|
<li>Updated copyrights years and authors</li>
|
||||||
|
<li>Improve Spanish translation</li>
|
||||||
|
<li>Convert translation README to MarkDown</li>
|
||||||
|
<li>Updated all the translation files</li>
|
||||||
|
</ul>
|
||||||
|
<p>Fixed:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fixed wrong icons directory for gtk-update-icon-cache</li>
|
||||||
|
<li>Fixed missing directories when uninstalling</li>
|
||||||
|
<li>Fixed bug introduced by r420 with RCS VCS</li>
|
||||||
|
<li>Fixed broken drag'n'drop since migration to Python3/GTK3</li>
|
||||||
|
<li>Fixed error when using '-m' in an SVN repo</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
</releases>
|
||||||
|
</component>
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Diffuse
|
||||||
|
Comment=Graphical tool for merging and comparing text files
|
||||||
|
Exec=diffuse -s %F
|
||||||
|
Icon=io.github.mightycreak.Diffuse
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=text/plain;text/x-csrc;text/x-chdr;
|
||||||
|
Categories=Development;GTK;
|
||||||
|
StartupNotify=true
|
|
@ -0,0 +1,62 @@
|
||||||
|
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
|
||||||
|
gnome = import('gnome')
|
||||||
|
|
||||||
|
gnome.compile_resources(meson.project_name(),
|
||||||
|
meson.project_name() + '.gresource.xml',
|
||||||
|
gresource_bundle: true,
|
||||||
|
install: true,
|
||||||
|
install_dir: pkgdatadir,
|
||||||
|
)
|
||||||
|
|
||||||
|
if build_machine.system() == 'linux'
|
||||||
|
desktop_file = i18n.merge_file(
|
||||||
|
input: 'io.github.mightycreak.Diffuse.desktop.in',
|
||||||
|
output: 'io.github.mightycreak.Diffuse.desktop',
|
||||||
|
type: 'desktop',
|
||||||
|
po_dir: '../po',
|
||||||
|
install: true,
|
||||||
|
install_dir: join_paths(get_option('datadir'), 'applications')
|
||||||
|
)
|
||||||
|
|
||||||
|
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||||
|
if desktop_utils.found()
|
||||||
|
test('Validate desktop file', desktop_utils,
|
||||||
|
args: [desktop_file]
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
|
||||||
|
appstream_file = i18n.merge_file(
|
||||||
|
input: 'io.github.mightycreak.Diffuse.appdata.xml.in',
|
||||||
|
output: 'io.github.mightycreak.Diffuse.appdata.xml',
|
||||||
|
po_dir: '../po',
|
||||||
|
install: true,
|
||||||
|
install_dir: join_paths(get_option('datadir'), 'appdata')
|
||||||
|
)
|
||||||
|
|
||||||
|
appstreamcli = find_program('appstreamcli', required: false)
|
||||||
|
if appstreamcli.found()
|
||||||
|
test('Validate appstream file', appstreamcli,
|
||||||
|
args: ['validate', '--no-net', '--explain', appstream_file]
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Diffuse config file
|
||||||
|
conf = configuration_data()
|
||||||
|
conf.set('LOG_PRINT_OUTPUT', get_option('log_print_output'))
|
||||||
|
conf.set('LOG_PRINT_STACK', get_option('log_print_stack'))
|
||||||
|
conf.set('USE_FLATPAK', get_option('use_flatpak'))
|
||||||
|
conf.set('PKGDATADIR', pkgdatadir)
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
input: 'diffuserc.in',
|
||||||
|
output: 'diffuserc',
|
||||||
|
configuration: conf,
|
||||||
|
install: true,
|
||||||
|
install_dir: get_option('sysconfdir')
|
||||||
|
)
|
||||||
|
|
||||||
|
# Data files
|
||||||
|
install_subdir('usr/share', install_dir: get_option('datadir'), strip_directory: true)
|
||||||
|
|
||||||
|
subdir('icons')
|
|
@ -0,0 +1,77 @@
|
||||||
|
# Bourne Shell syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax 'Bourne Shell' normal text
|
||||||
|
syntax_files 'Bourne Shell' '^(.*\.sh|\.bashrc)$'
|
||||||
|
syntax_magic 'Bourne Shell' '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?(sh|ash|bash|dash|ksh|pdksh|rbash|zsh)[0-9\.]*([ \t].*)?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour bash_comment 0.2 0.4 0.64
|
||||||
|
colour bash_fixme 1.0 0.5 0.0
|
||||||
|
colour bash_literal 1.0 0.2 0.8
|
||||||
|
colour bash_string 0.8 0.0 0.0
|
||||||
|
colour bash_subshell 0.46 0.31 0.48
|
||||||
|
colour bash_escapedchar 0.46 0.31 0.48
|
||||||
|
colour bash_variable 0.02 0.6 0.6
|
||||||
|
colour bash_keyword 0.77 0.63 0.0
|
||||||
|
colour bash_punctuation 0.5 0.5 0.5
|
||||||
|
colour bash_function 0.02 0.6 0.6
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal expr bash_keyword '\b(alias|bg|bind|break|builtin|caller|case|cd|command|compgen|complete|continue|declare|dirs|disown|do|done|echo|elif|else|enable|esac|eval|exec|exit|export|fc|fg|fi|for|getopts|hash|help|history|if|in|jobs|kill|let|local|logout|popd|printf|pushd|pwd|read|readonly|return|select|set|shift|shopt|source|suspend|test|then|time|times|trap|type|typeset|ulimit|umask|unalias|unset|until|wait|while)\b'
|
||||||
|
|
||||||
|
# function/class definitions
|
||||||
|
syntax_pattern normal declaration bash_keyword '\b(function)\b'
|
||||||
|
syntax_pattern declaration declaration2 text '[ \t]+'
|
||||||
|
syntax_pattern declaration expr text ''
|
||||||
|
syntax_pattern declaration2 expr bash_function '\b[a-z_][a-z_0-9]*\b' ignorecase
|
||||||
|
syntax_pattern declaration2 normal text ''
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal comment bash_comment '#'
|
||||||
|
syntax_pattern comment normal bash_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment bash_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment bash_comment '.[^TFX\r\n]*'
|
||||||
|
syntax_pattern normal expr bash_comment ''
|
||||||
|
syntax_pattern expr normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern expr single_string bash_string "'"
|
||||||
|
syntax_pattern single_string expr bash_string "'"
|
||||||
|
syntax_pattern single_string single_string bash_string "[^']+"
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern expr double_string bash_string '"'
|
||||||
|
syntax_pattern double_string expr bash_string '"'
|
||||||
|
syntax_pattern double_string double_subshell_string bash_subshell '`'
|
||||||
|
syntax_pattern double_string double_string bash_variable '\$([\*@#\?\-\$!]|[a-z_0-9]+|\{[a-z_0-9]+\})' ignorecase
|
||||||
|
syntax_pattern double_string double_string bash_escapedchar '(\\(\r?\n|.))+'
|
||||||
|
syntax_pattern double_string double_string bash_string '.[^\\"\$`]*'
|
||||||
|
|
||||||
|
# subshell within "-style strings
|
||||||
|
syntax_pattern double_subshell_string double_string bash_subshell '`'
|
||||||
|
syntax_pattern double_subshell_string double_subshell_string bash_escapedchar '(\\.)+'
|
||||||
|
syntax_pattern double_subshell_string double_subshell_string bash_variable '\$([\*@#\?\-\$!]|[a-z_0-9]+|\{[a-z_0-9]+\})' ignorecase
|
||||||
|
syntax_pattern double_subshell_string double_subshell_string bash_subshell '.[^\\`\$]*'
|
||||||
|
|
||||||
|
# subshell
|
||||||
|
syntax_pattern expr subshell_string bash_subshell '`'
|
||||||
|
syntax_pattern subshell_string expr bash_subshell '`'
|
||||||
|
syntax_pattern subshell_string subshell_string bash_variable '\$([\*@#\?\-\$!]|[a-z_0-9]*|{[a-z_0-9]*})' ignorecase
|
||||||
|
syntax_pattern subshell_string subshell_string bash_escapedchar '(\\(\r?\n|.))+'
|
||||||
|
syntax_pattern subshell_string subshell_string bash_subshell '.[^\\`\$]*'
|
||||||
|
|
||||||
|
# escaped character
|
||||||
|
syntax_pattern expr expr bash_escapedchar '(\\(\r?\n|.))+'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern expr normal bash_punctuation '[!\|&;\(\)<>]+'
|
||||||
|
syntax_pattern expr expr bash_punctuation '[\{\}=\[\]]+'
|
||||||
|
|
||||||
|
# literal
|
||||||
|
syntax_pattern expr expr bash_literal '\b[0-9]+\b'
|
||||||
|
|
||||||
|
# environment variables
|
||||||
|
syntax_pattern expr expr bash_variable '\$([\*@#\?\-\$!]|[a-z_0-9]+|\{[a-z_0-9]+\})' ignorecase
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern expr expr text '[a-z0-9_]+' ignorecase
|
|
@ -0,0 +1,80 @@
|
||||||
|
# C++ syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2013 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax C++ normal text
|
||||||
|
syntax_files C++ '\.(h|c|C|cc|cxx|c\+\+|cpp)$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour c++_comment 0.2 0.4 0.64
|
||||||
|
colour c++_fixme 1.0 0.5 0.0
|
||||||
|
colour c++_keyword 0.77 0.63 0.0
|
||||||
|
colour c++_type 0.3 0.6 0.02
|
||||||
|
colour c++_cpp 0.8 0.0 0.0
|
||||||
|
colour c++_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour c++_literal 1.0 0.2 0.8
|
||||||
|
colour c++_string 0.8 0.0 0.0
|
||||||
|
colour c++_escapedchar 0.46 0.31 0.48
|
||||||
|
colour c++_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# preprocessor
|
||||||
|
syntax_pattern normal cpp c++_cppkeyword '^[ \t]*#[ \t]*(define|elif|else|endif|error|if|ifdef|ifndef|include|line|pragma|undef|warning)\b'
|
||||||
|
syntax_pattern cpp normal c++_cppkeyword '(\r\n|\r|\n)$'
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment c++_comment '//'
|
||||||
|
syntax_pattern cpp cpp_comment c++_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal c++_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment c++_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment c++_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment c++_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment c++_comment '/\*'
|
||||||
|
syntax_pattern comment normal c++_comment '\*/'
|
||||||
|
syntax_pattern comment comment c++_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment c++_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
syntax_pattern cpp comment_cpp c++_comment '/\*'
|
||||||
|
syntax_pattern comment_cpp cpp c++_comment '\*/'
|
||||||
|
syntax_pattern comment_cpp comment_cpp c++_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment_cpp comment_cpp c++_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# preprocessor args
|
||||||
|
syntax_pattern cpp cpp c++_cpp '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp cpp c++_cpp '.[^\\/\r\n]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char c++_string "[uUL]?'"
|
||||||
|
syntax_pattern char normal c++_string "['\\n]"
|
||||||
|
syntax_pattern char char c++_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.|\n))+'
|
||||||
|
syntax_pattern char char c++_string ".[^\\\\\\n']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string c++_string '(u|u8|U|L)?"'
|
||||||
|
syntax_pattern string normal c++_string '["\n]'
|
||||||
|
syntax_pattern string string c++_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.|\n))+'
|
||||||
|
syntax_pattern string string c++_string '.[^\\\n"]*'
|
||||||
|
|
||||||
|
# raw string
|
||||||
|
syntax_pattern normal raw_string c++_string '(u|u8|U|L)?R"[^\(]*\('
|
||||||
|
syntax_pattern raw_string normal c++_string '\)[^\)]*"'
|
||||||
|
syntax_pattern raw_string raw_string c++_string '.[^\)]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal c++_literal '((([0-9]+\.[0-9]*|\.[0-9]+)([ep][\+\-]?[0-9]+)?|[0-9]+[ep][\+\-]?[0-9]+)[fl]?|(0|[1-9][0-9]*)f|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)(ul?|lu?)?)' ignorecase
|
||||||
|
syntax_pattern normal normal c++_literal '\b(true|false|M_E|M_LOG2E|M_LOG10E|M_LN2|M_LN10|M_PI|M_PI_2|M_PI_4|M_1_PI|M_2_PI|M_2_SQRTPI|M_SQRT2|M_SQRT1_2|NULL|nullptr)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal c++_type '\b(_Alignas|_Atomic|_Bool|_Complex|_Imaginary|_Noreturn|_Thread_local|alignas|auto|bool|char|char16_t|char32_t|class|const|constexpr|double|enum|explicit|export|extern|final|float|inline|int|long|mutable|namespace|noreturn|override|register|restrict|short|signed|static|struct|template|thread_local|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal c++_keyword '\b(_Alignof|_Generic|_Static_assert|alignof|and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|decltype|default|delete|do|dynamic_cast|else|for|friend|goto|if|new|noexcept|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_assert|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal c++_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern normal normal c++_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,72 @@
|
||||||
|
# C Shell syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax 'C Shell' normal text
|
||||||
|
syntax_files 'C Shell' '^(.*\.csh|\.t?cshrc)$'
|
||||||
|
syntax_magic 'C Shell' '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?(t?csh)[0-9\.]*([ \t].*)?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour csh_comment 0.2 0.4 0.64
|
||||||
|
colour csh_fixme 1.0 0.5 0.0
|
||||||
|
colour csh_literal 1.0 0.2 0.8
|
||||||
|
colour csh_string 0.8 0.0 0.0
|
||||||
|
colour csh_subshell 0.46 0.31 0.48
|
||||||
|
colour csh_escapedchar 0.46 0.31 0.48
|
||||||
|
colour csh_variable 0.02 0.6 0.6
|
||||||
|
colour csh_keyword 0.77 0.63 0.0
|
||||||
|
colour csh_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal expr csh_keyword '\b(alias|alloc|bg|bindkey|break|breaksw|bs2cmd|builtins|bye|case|cd|chdir|complete|continue|default|dirs|echo|echotc|else([ \t]if)?|end|endif|endsw|eval|exec|exit|fg|filetest|foreach|getspath|getxvers|glob|goto|hashstat|history|hup|if|inlib|jobs|kill|limit|log|login|logout|ls-F|migrate|newgrp|nice|nohup|notify|onintr|popd|printenv|pushd|rehash|repeat|rootnode|sched|set|setenv|setpath|setspath|settc|setty|setxvers|shift|source|stop|suspend|switch|telltc|termname|then|time|umask|unalias|uncomplete|unhash|universe|unlimit|unset|unsetenv|ver|wait|warp|watchlog|where)\b'
|
||||||
|
syntax_pattern normal expr text ''
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern expr normal text '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern expr comment csh_comment '#'
|
||||||
|
syntax_pattern comment normal csh_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment csh_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment csh_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern expr normal csh_punctuation '[\|&;\(\)!]+'
|
||||||
|
syntax_pattern expr expr csh_punctuation '[<>=~\+\-\*/%]+'
|
||||||
|
|
||||||
|
# escaped character
|
||||||
|
syntax_pattern expr expr csh_escapedchar '(\\(\r?\n|.))+'
|
||||||
|
|
||||||
|
# environment variables
|
||||||
|
syntax_pattern expr expr csh_variable '\$([\?#%]?[a-z_0-9]+|\{[\?#%]?[a-z_0-9]+\}|[\*#\?\$!<])' ignorecase
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern expr single_string csh_string "'"
|
||||||
|
syntax_pattern single_string expr csh_string "'"
|
||||||
|
syntax_pattern single_string single_string csh_string "[^']+"
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern expr double_string csh_string '"'
|
||||||
|
syntax_pattern double_string expr csh_string '"'
|
||||||
|
syntax_pattern double_string double_subshell_string csh_subshell '`'
|
||||||
|
syntax_pattern double_string double_string csh_variable '\$([\?#%]?[a-z_0-9]+|\{[\?#%]?[a-z_0-9]+\}|[\*#\?\$!<])' ignorecase
|
||||||
|
syntax_pattern double_string double_string csh_escapedchar '(\\(\r?\n|.))+'
|
||||||
|
syntax_pattern double_string double_string csh_string '.[^\\"\$`]*'
|
||||||
|
|
||||||
|
# subshell within "-style strings
|
||||||
|
syntax_pattern double_subshell_string double_string csh_subshell '`'
|
||||||
|
syntax_pattern double_subshell_string double_subshell_string csh_escapedchar '(\\.)+'
|
||||||
|
syntax_pattern double_subshell_string double_subshell_string csh_variable '\$([\*#\?\$!<]|[\?#%]?[a-z_0-9]+|\{[\?#%]?[a-z_0-9]+\})' ignorecase
|
||||||
|
syntax_pattern double_subshell_string double_subshell_string csh_subshell '.[^\\`\$]*'
|
||||||
|
|
||||||
|
# subshell
|
||||||
|
syntax_pattern expr subshell_string csh_subshell '`'
|
||||||
|
syntax_pattern subshell_string expr csh_subshell '`'
|
||||||
|
syntax_pattern subshell_string subshell_string csh_variable '\$([\?#%]?[a-z_0-9]+|\{[\?#%]?[a-z_0-9]+\}|[\*#\?\$!<])' ignorecase
|
||||||
|
syntax_pattern subshell_string subshell_string csh_escapedchar '(\\(\r?\n|.))+'
|
||||||
|
syntax_pattern subshell_string subshell_string csh_subshell '.[^\\`\$]*'
|
||||||
|
|
||||||
|
# literal
|
||||||
|
syntax_pattern expr expr csh_literal '\b[0-9]+\b'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern expr expr text '[a-z0-9_]+' ignorecase
|
|
@ -0,0 +1,73 @@
|
||||||
|
# C# syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2010 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax 'C#' normal text
|
||||||
|
syntax_files 'C#' '\.cs$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour csharp_comment 0.2 0.4 0.64
|
||||||
|
colour csharp_fixme 1.0 0.5 0.0
|
||||||
|
colour csharp_cpp 0.8 0.0 0.0
|
||||||
|
colour csharp_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour csharp_import 0.46 0.31 0.48
|
||||||
|
colour csharp_keyword 0.77 0.63 0.0
|
||||||
|
colour csharp_type 0.3 0.6 0.02
|
||||||
|
colour csharp_literal 1.0 0.2 0.8
|
||||||
|
colour csharp_string 0.8 0.0 0.0
|
||||||
|
colour csharp_escapedchar 0.46 0.31 0.48
|
||||||
|
colour csharp_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# preprocessor
|
||||||
|
syntax_pattern normal cpp csharp_cppkeyword '^[ \t]*#[ \t]*(define|elif|else|endif|endregion|error|if|line|region|undef|warning)\b'
|
||||||
|
syntax_pattern cpp normal csharp_cppkeyword '(\r\n|\r|\n)$'
|
||||||
|
|
||||||
|
# preprocessor args
|
||||||
|
syntax_pattern cpp cpp csharp_cpp '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp cpp csharp_cpp '.[^\\/\r\n]*'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment csharp_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal csharp_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment csharp_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment csharp_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment csharp_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment csharp_comment '/\*'
|
||||||
|
syntax_pattern comment normal csharp_comment '\*/'
|
||||||
|
syntax_pattern comment comment csharp_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment csharp_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string csharp_string '"'
|
||||||
|
syntax_pattern string normal csharp_string '"'
|
||||||
|
syntax_pattern string string csharp_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{1,8}|.))+'
|
||||||
|
syntax_pattern string string csharp_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# verbatim string
|
||||||
|
syntax_pattern normal verbatim csharp_string '@"'
|
||||||
|
syntax_pattern verbatim verbatim csharp_string '[^"]+'
|
||||||
|
syntax_pattern verbatim verbatim csharp_escapedchar '""'
|
||||||
|
syntax_pattern verbatim normal csharp_string '"'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal csharp_literal '((([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+)[dfm]?|[0-9]+[dfm]|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)(ul?|lu?)?)' ignorecase
|
||||||
|
syntax_pattern normal normal csharp_literal '\b(true|false|null)\b'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal csharp_import '\b(using)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal csharp_type '\b(abstract|bool|byte|char|class|const|decimal|delegate|double|enum|event|extern|float|int|interface|internal|long|namespace|object|out|override|params|private|protected|public|readonly|sbyte|sealed|short|static|string|struct|uint|ulong|ushort|virtual|void|volatile)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal csharp_keyword '\b(as|base|break|case|catch|checked|continue|default|do|else|explicit|finally|fixed|for|foreach|goto|if|implicit|in|is|lock|new|operator|ref|return|sizeof|stackalloc|switch|this|throw|try|typeof|unchecked|unsafe|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal csharp_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern normal normal csharp_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '@?[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,60 @@
|
||||||
|
# CSS syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax CSS normal text
|
||||||
|
syntax_files CSS '\.css$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour css_comment 0.2 0.4 0.64
|
||||||
|
colour css_fixme 1.0 0.5 0.0
|
||||||
|
colour css_rule 0.46 0.31 0.48
|
||||||
|
colour css_block 0.02 0.6 0.6
|
||||||
|
colour css_selector 0.77 0.63 0.0
|
||||||
|
colour css_property 0.3 0.6 0.02
|
||||||
|
colour css_important 0.46 0.31 0.48
|
||||||
|
colour css_literal 1.0 0.2 0.8
|
||||||
|
colour css_string 0.8 0.0 0.0
|
||||||
|
colour css_escapedchar 0.46 0.31 0.48
|
||||||
|
colour css_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern property property text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment css_comment '/\*'
|
||||||
|
syntax_pattern comment normal css_comment '\*/'
|
||||||
|
syntax_pattern comment comment css_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment css_comment '.[^\*TFX]*'
|
||||||
|
syntax_pattern property property_comment css_comment '/\*'
|
||||||
|
syntax_pattern property_comment property css_comment '\*/'
|
||||||
|
syntax_pattern property_comment property_comment css_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern property_comment property_comment css_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# rules
|
||||||
|
syntax_pattern normal normal css_rule '@[a-z0-9\-_]*' ignorecase
|
||||||
|
|
||||||
|
# selectors
|
||||||
|
syntax_pattern normal property css_block '\{'
|
||||||
|
syntax_pattern normal normal css_selector '[a-z0-9_\-\*]+' ignorecase
|
||||||
|
syntax_pattern normal normal css_punctuation '[\|\.#,\[\]\(\)=:;>]+'
|
||||||
|
syntax_pattern normal string css_string '"'
|
||||||
|
syntax_pattern string normal css_string '"'
|
||||||
|
syntax_pattern string string css_escapedchar '\\([0-9][a-f]{1,6}|.)' ignorecase
|
||||||
|
syntax_pattern string string css_string '.[^"]*'
|
||||||
|
syntax_pattern normal singlestring css_string "'"
|
||||||
|
syntax_pattern singlestring normal css_string "'"
|
||||||
|
syntax_pattern singlestring singlestring css_escapedchar '\\([0-9][a-f]{1,6}|.)' ignorecase
|
||||||
|
syntax_pattern singlestring singlestring css_string ".[^']*"
|
||||||
|
|
||||||
|
# property
|
||||||
|
syntax_pattern property normal css_block '\}'
|
||||||
|
syntax_pattern property property css_literal '([\+\-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)(em|pt|px|%)?|#[0-9a-f]+)' ignorecase
|
||||||
|
syntax_pattern property property css_important '![ \t]*important\b'
|
||||||
|
syntax_pattern property property css_property '[a-z0-9_\-]+' ignorecase
|
||||||
|
syntax_pattern property property css_punctuation '[,\(\)=:;]+'
|
||||||
|
syntax_pattern property property_string css_string '"'
|
||||||
|
syntax_pattern property_string property css_string '"'
|
||||||
|
syntax_pattern property_string property_string css_escapedchar '\\([0-9][a-f]{1,6}|.)' ignorecase
|
||||||
|
syntax_pattern property_string property_string css_string '.[^"]*'
|
||||||
|
syntax_pattern property property_singlestring css_string "'"
|
||||||
|
syntax_pattern property_singlestring property css_string "'"
|
||||||
|
syntax_pattern property_singlestring property_singlestring css_escapedchar '\\([0-9][a-f]{1,6}|.)' ignorecase
|
||||||
|
syntax_pattern property_singlestring property_singlestring css_string ".[^']*"
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Erlang syntax file for Diffuse
|
||||||
|
# Copyright (C) 2012 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Erlang init text
|
||||||
|
syntax_files Erlang '\.[eh]rl$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour erlang_comment 0.2 0.4 0.64
|
||||||
|
colour erlang_fixme 1.0 0.5 0.0
|
||||||
|
colour erlang_import 0.46 0.31 0.48
|
||||||
|
colour erlang_keyword 0.77 0.63 0.0
|
||||||
|
colour erlang_atom 0.3 0.6 0.02
|
||||||
|
colour erlang_literal 1.0 0.2 0.8
|
||||||
|
colour erlang_string 0.8 0.0 0.0
|
||||||
|
colour erlang_escapedchar 0.46 0.31 0.48
|
||||||
|
colour erlang_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern init init text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern init init_comment erlang_comment '%'
|
||||||
|
syntax_pattern init_comment init erlang_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern init_comment init_comment erlang_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern init_comment init_comment erlang_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern init normal erlang_import '-([a-z_][a-z_0-9]*)\b' ignorecase
|
||||||
|
syntax_pattern init normal erlang_import ''
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern normal comment erlang_comment '%'
|
||||||
|
syntax_pattern comment normal erlang_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment erlang_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment erlang_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# escaped atoms
|
||||||
|
syntax_pattern normal char erlang_atom "'"
|
||||||
|
syntax_pattern char normal erlang_atom "'"
|
||||||
|
syntax_pattern char char erlang_escapedchar '(\\(x([0-9a-fA-F]{2}|\{[0-9a-fA-F]+\})|[0-7]{1,3}|\^[a-zA-Z]|.))+'
|
||||||
|
syntax_pattern char char erlang_atom ".[^\\\\']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string erlang_string '"'
|
||||||
|
syntax_pattern string normal erlang_string '"'
|
||||||
|
syntax_pattern string string erlang_escapedchar '(\\(x([0-9a-fA-F]{2}|\{[0-9a-fA-F]+\})|[0-7]{1,3}|\^[a-zA-Z]|.))+'
|
||||||
|
syntax_pattern string string erlang_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal erlang_literal '(\$(\\(x([0-9a-fA-F]{2}|\{[0-9a-fA-F]+\})|[0-7]{1,3}|\^[a-zA-Z]|.)|.)|[0-9]+(#[0-9a-f]+|(\.[0-9]+)?(e[\+\-]?[0-9]+)?)?)' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal erlang_keyword '\b(after|and|andalso|band|begin|bnot|bor|bsl|bsr|bxor|case|catch|cond|div|end|fun|if|let|not|of|or|orelse|query|receive|rem|try|when|xor)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal erlang_punctuation '[\[\]\{\}\(\)\|,;:\<\>/\+\-\*!\?#=]+'
|
||||||
|
syntax_pattern normal init erlang_punctuation '\.'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Fortran syntax file for Diffuse
|
||||||
|
# Copyright (C) 2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Fortran normal text
|
||||||
|
syntax_files Fortran '\.[fF]9[05]$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour fortran_cpp 0.8 0.0 0.0
|
||||||
|
colour fortran_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour fortran_comment 0.2 0.4 0.64
|
||||||
|
colour fortran_fixme 1.0 0.5 0.0
|
||||||
|
colour fortran_keyword 0.77 0.63 0.0
|
||||||
|
colour fortran_type 0.3 0.6 0.02
|
||||||
|
colour fortran_import 0.46 0.31 0.48
|
||||||
|
colour fortran_literal 1.0 0.2 0.8
|
||||||
|
colour fortran_string 0.8 0.0 0.0
|
||||||
|
colour fortran_escapedchar 0.46 0.31 0.48
|
||||||
|
colour fortran_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# preprocessor
|
||||||
|
syntax_pattern normal cpp fortran_cppkeyword '^[ \t]*#[ \t]*(define|undef|include|[0-9]+|ifdef|ifndef|elif|else|endif|if)\b'
|
||||||
|
syntax_pattern cpp normal fortran_cpp '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp cpp fortran_cpp '.[^\r\n]*'
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment fortran_comment '!'
|
||||||
|
syntax_pattern comment normal fortran_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment fortran_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment fortran_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern normal double_string fortran_string '(([0-9]+|[a-z_][a-z_0-9]*)_)?"' ignorecase
|
||||||
|
syntax_pattern double_string double_string fortran_escapedchar '("")+'
|
||||||
|
syntax_pattern double_string normal fortran_string '"'
|
||||||
|
syntax_pattern double_string double_string fortran_string '[^"]+'
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern normal single_string fortran_string "(([0-9]+|[a-z_][a-z_0-9]*)_)?'" ignorecase
|
||||||
|
syntax_pattern single_string single_string fortran_escapedchar "('')+"
|
||||||
|
syntax_pattern single_string normal fortran_string "'"
|
||||||
|
syntax_pattern single_string single_string fortran_string "[^']+"
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal fortran_literal "(((\\.[0-9]+|[0-9]+(\\.[0-9]*)?)[ed][\\-\\+]?[0-9]+|\\.[0-9]+|[0-9]+(\\.[0-9]+)?)(_([0-9]+|[a-z_][a-z_0-9]*))?\b|b('[01]+'|\"[01]+\")|o('[0-7]+'|\"[0-7]+\")|z('[0-9a-f]+'|\"[0-9a-f]+\"))" ignorecase
|
||||||
|
syntax_pattern normal normal fortran_literal '\.(false|true)\.(_([0-9]+|[a-z_][a-z_0-9]*))?' ignorecase
|
||||||
|
|
||||||
|
# types
|
||||||
|
syntax_pattern normal normal fortran_type '\b(abstract|allocateable|assignment|asynchronous|bind|class|character|common|complex|data|deferred|dimension|double[ \t]*precision|(end[ \t]*)?(enum|interface|type)|entry|enumerator|equivalence|extends|external|final|format|generic|implicit|import|integer|intent|intrinsic|logical|module[ \t]*procedure|namelist|non_overridable|nopass|operator|optional|parameter|pass|pointer|private|procedure|protected|public|real|record|save|sequence|target|use|value|volatile)\b' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal fortran_keyword '\b(allocate|assign|backspace|call|case|close|contains|continue|cycle|deallocate|do[ \t]+while|elemental|else|else(if|where)?|(end)?(associate|block[ \t]*data|do|forall|function|if|module|program|select|subroutine|where)|end|endfile|exit|flush|go[ \t]*to|inquire|nullify|open|pause|print|pure|read|recursive|return|rewind|select[ \t]*case|select[ \t]+type|stop|wait|write)\b' ignorecase
|
||||||
|
syntax_pattern normal normal fortran_keyword '\.(eq|ne|gt|ge|lt|le|not|and|or|eqv|neqv)\.' ignorecase
|
||||||
|
|
||||||
|
# special kewords
|
||||||
|
syntax_pattern normal normal fortran_import '\b(include)\b' ignorecase
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal fortran_punctuation '[=\+\-\*/\(\),:%\&;\<\>\[\]]+'
|
||||||
|
syntax_pattern normal normal fortran_punctuation '\.'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Gettext syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2010 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Gettext normal text
|
||||||
|
syntax_files Gettext '\.pot?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour gettext_comment 0.2 0.4 0.64
|
||||||
|
colour gettext_fixme 1.0 0.5 0.0
|
||||||
|
colour gettext_string 0.8 0.0 0.0
|
||||||
|
colour gettext_escapedchar 0.46 0.31 0.48
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern normal comment gettext_comment '#'
|
||||||
|
syntax_pattern comment normal gettext_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment gettext_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment gettext_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string gettext_string '"'
|
||||||
|
syntax_pattern string normal gettext_string '"'
|
||||||
|
syntax_pattern string string gettext_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern string string gettext_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[ \ta-z_0-9]+' ignorecase
|
|
@ -0,0 +1,59 @@
|
||||||
|
# GLSL syntax file for Diffuse
|
||||||
|
# Copyright (C) 2009-2011 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax GLSL normal text
|
||||||
|
syntax_files GLSL '\.(frag|geom|glsl|vert)$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour glsl_comment 0.2 0.4 0.64
|
||||||
|
colour glsl_fixme 1.0 0.5 0.0
|
||||||
|
colour glsl_keyword 0.77 0.63 0.0
|
||||||
|
colour glsl_type 0.3 0.6 0.02
|
||||||
|
colour glsl_cpp 0.8 0.0 0.0
|
||||||
|
colour glsl_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour glsl_literal 1.0 0.2 0.8
|
||||||
|
colour glsl_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# preprocessor
|
||||||
|
syntax_pattern normal cpp glsl_cppkeyword '^[ \t]*#[ \t]*(define|elif|else|endif|error|extension|if|ifdef|ifndef|line|pragma|undef|version)\b'
|
||||||
|
syntax_pattern cpp normal glsl_cppkeyword '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment glsl_comment '//'
|
||||||
|
syntax_pattern cpp cpp_comment glsl_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal glsl_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment glsl_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment glsl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment glsl_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment glsl_comment '/\*'
|
||||||
|
syntax_pattern comment normal glsl_comment '\*/'
|
||||||
|
syntax_pattern comment comment glsl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment glsl_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
syntax_pattern cpp comment_cpp glsl_comment '/\*'
|
||||||
|
syntax_pattern comment_cpp cpp glsl_comment '\*/'
|
||||||
|
syntax_pattern comment_cpp comment_cpp glsl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment_cpp comment_cpp glsl_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# preprocessor args
|
||||||
|
syntax_pattern cpp cpp glsl_cpp '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp cpp glsl_cpp '.[^\\/\r\n]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal glsl_literal '((([0-9]+\.[0-9]*|\.[0-9]+)([eE][\+\-]?[0-9]+)?|[0-9]+[eE][\+\-]?[0-9]+)[fF]?|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)[uU]?)' ignorecase
|
||||||
|
syntax_pattern normal normal glsl_literal '\b(true|false)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal glsl_type '\b(active|attribute|bool|centroid|class|common|const|double|enum|extern|external|filter|fixed|flat|float|half|highp|image([12]D(Array)?(Shadow)?|3D|Buffer|Cube)|[iu]image([12]D(Array)?|3D|Buffer|Cube)|in|inline|inout|input|int|interface|invariant|[iu]sampler([12]D(Array)?|3D|2DRect|Buffer|Cube)|layout|long|lowp|mat[2-4](x[2-4])?|mediump|namespace|noinline|noperspective|out|output|packed|partition|precision|row_major|sampler([12]D(Array)?(Shadow)?|3D|Cube(Shadow)?|2DRect(Shadow)?|3DRect|Buffer)|short|smooth|static|struct|superp|template|typedef|uniform|union|unsigned|varying|[bdfhi]?vec[2-4]|void|volatile)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal glsl_keyword '\b(asm|break|cast|continue|default|discard|do|else|for|goto|if|public|return|sizeof|switch|this|using|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal glsl_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern normal normal glsl_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,225 @@
|
||||||
|
# HTML syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax HTML normal text
|
||||||
|
syntax_files HTML '\.html$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour html_comment 0.2 0.4 0.64
|
||||||
|
colour html_fixme 1.0 0.5 0.0
|
||||||
|
colour html_escapedchar 0.77 0.63 0.0
|
||||||
|
colour html_processingtag 0.46 0.31 0.48
|
||||||
|
colour html_processingtagname 0.3 0.6 0.02
|
||||||
|
colour html_tag 0.02 0.6 0.6
|
||||||
|
colour html_tagname 0.77 0.63 0.0
|
||||||
|
colour html_punctuation 0.5 0.5 0.5
|
||||||
|
colour html_attribute 0.3 0.6 0.02
|
||||||
|
colour html_string 0.8 0.0 0.0
|
||||||
|
colour html_script 0.46 0.31 0.48
|
||||||
|
colour html_style 0.46 0.31 0.48
|
||||||
|
|
||||||
|
# script colours
|
||||||
|
colour html_script_comment 0.2 0.4 0.64
|
||||||
|
colour html_script_fixme 1.0 0.5 0.0
|
||||||
|
colour html_script_import 0.46 0.31 0.48
|
||||||
|
colour html_script_keyword 0.77 0.63 0.0
|
||||||
|
colour html_script_type 0.3 0.6 0.02
|
||||||
|
colour html_script_regex 0.8 0.0 0.0
|
||||||
|
colour html_script_regexsep 0.77 0.63 0.0
|
||||||
|
colour html_script_literal 1.0 0.2 0.8
|
||||||
|
colour html_script_string 0.8 0.0 0.0
|
||||||
|
colour html_script_escapedchar 0.46 0.31 0.48
|
||||||
|
colour html_script_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# style colours
|
||||||
|
colour html_style_comment 0.2 0.4 0.64
|
||||||
|
colour html_style_fixme 1.0 0.5 0.0
|
||||||
|
colour html_style_rule 0.46 0.31 0.48
|
||||||
|
colour html_style_block 0.02 0.6 0.6
|
||||||
|
colour html_style_selector 0.77 0.63 0.0
|
||||||
|
colour html_style_property 0.3 0.6 0.02
|
||||||
|
colour html_style_important 0.46 0.31 0.48
|
||||||
|
colour html_style_literal 1.0 0.2 0.8
|
||||||
|
colour html_style_string 0.8 0.0 0.0
|
||||||
|
colour html_style_escapedchar 0.46 0.31 0.48
|
||||||
|
colour html_style_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment html_comment '<!--'
|
||||||
|
syntax_pattern comment normal html_comment '-->'
|
||||||
|
syntax_pattern comment comment html_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment html_comment '.[^TFX\-]*'
|
||||||
|
|
||||||
|
#
|
||||||
|
# script
|
||||||
|
#
|
||||||
|
syntax_pattern normal script html_script '<script\b[^>]*>'
|
||||||
|
syntax_pattern script normal html_script '</script>'
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern script script text '[ \t\r\n]+'
|
||||||
|
syntax_pattern script_expr normal html_script '</script>'
|
||||||
|
syntax_pattern script_expr script_expr text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern script script_cpp_comment html_script_comment '//'
|
||||||
|
syntax_pattern script_cpp_comment normal html_script '</script>'
|
||||||
|
syntax_pattern script_expr script_cpp_comment html_script_comment '//'
|
||||||
|
syntax_pattern script_cpp_comment script html_script_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern script_cpp_comment script_cpp_comment html_script_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern script_cpp_comment script_cpp_comment html_script_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern script_cpp_comment script_cpp_comment html_script_comment '.[^\\TFX\r\n<]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern script script_comment html_script_comment '/\*'
|
||||||
|
syntax_pattern script_comment normal html_script '</script>'
|
||||||
|
syntax_pattern script_expr script_comment html_script_comment '/\*'
|
||||||
|
syntax_pattern script_comment script html_script_comment '\*/'
|
||||||
|
syntax_pattern script_comment script_comment html_script_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern script_comment script_comment html_script_comment '.[^\*TFX<]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern script script_char html_script_string "'"
|
||||||
|
syntax_pattern script_char normal html_script '</script>'
|
||||||
|
syntax_pattern script_char script_char html_script_escapedchar '(\\([0-7]{1,3}|u[0-9a-f]{1,4}|[^<]))+' ignorecase
|
||||||
|
syntax_pattern script_char script_expr html_script_string "'"
|
||||||
|
syntax_pattern script_char script_char html_script_string ".[^\\\\'<]*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern script script_string html_script_string '"'
|
||||||
|
syntax_pattern script_string normal html_script '</script>'
|
||||||
|
syntax_pattern script_string script_string html_script_escapedchar '(\\([0-7]{1,3}|u[0-9a-f]{1,4}|[^<]))+' ignorecase
|
||||||
|
syntax_pattern script_string script_expr html_script_string '"'
|
||||||
|
syntax_pattern script_string script_string html_script_string '.[^\\"<]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern script script_expr html_script_literal '(((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)(e[\+\-]?[0-9]+)?|0[0-7]*|0x[0-9a-f]+)' ignorecase
|
||||||
|
syntax_pattern script script_expr html_script_literal '\b(true|false|Infinity|NaN|null|undefined)\b'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern script script html_script_import '\b(import|package)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern script script html_script_type '\b(abstract|boolean|byte|char|class|const|double|enum|export|float|function|int|interface|long|native|private|protected|public|short|static|synchronized|transient|var|void|volatile)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern script script html_script_keyword '\b(break|case|catch|continue|debugger|default|delete|do|else|extends|final|finally|for|goto|if|implements|in|instanceof|new|return|switch|throw|throws|try|typeof|while|with)\b'
|
||||||
|
syntax_pattern script script_expr html_script_keyword '\b(super|this)\b'
|
||||||
|
|
||||||
|
# regular expressions
|
||||||
|
syntax_pattern script script_regex html_script_regexsep '/'
|
||||||
|
syntax_pattern script_regex normal html_script '</script>'
|
||||||
|
syntax_pattern script_regex script_expr html_script_regexsep '/[gim]*'
|
||||||
|
syntax_pattern script_regex script_regex html_script_escapedchar '\\(c[^<]|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{1,4}|[^<])'
|
||||||
|
syntax_pattern script_regex script_regex html_script_regex '.[^\\/<]*'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern script script html_script_punctuation '[\^\*%~!\+\-=\|\&\(\{\[:;,\?\>\}\.]+'
|
||||||
|
syntax_pattern script script html_script_punctuation '<'
|
||||||
|
syntax_pattern script script_expr html_script_punctuation '[\)\]]+'
|
||||||
|
syntax_pattern script_expr script html_script_punctuation '/'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern script script_expr text '.[\$a-z_][\$a-z_0-9]*' ignorecase
|
||||||
|
syntax_pattern script_expr script html_script_punctuation ''
|
||||||
|
|
||||||
|
#
|
||||||
|
# style
|
||||||
|
#
|
||||||
|
syntax_pattern normal style html_style '<style\b[^>]*>'
|
||||||
|
syntax_pattern style normal html_style '</style>'
|
||||||
|
|
||||||
|
# whitespace and comments
|
||||||
|
syntax_pattern style style text '[ \t\r\n]+'
|
||||||
|
syntax_pattern style_property style_property text '[ \t\r\n]+'
|
||||||
|
syntax_pattern style_property normal html_style '</style>'
|
||||||
|
syntax_pattern style style_comment html_style_comment '/\*'
|
||||||
|
syntax_pattern style_comment normal html_style '</style>'
|
||||||
|
syntax_pattern style_comment style html_style_comment '\*/'
|
||||||
|
syntax_pattern style_comment style_comment html_style_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern style_comment style_comment html_style_comment '.[^\*TFX<]*'
|
||||||
|
syntax_pattern style_property style_property_comment html_style_comment '/\*'
|
||||||
|
syntax_pattern style_property_comment style_property html_style_comment '\*/'
|
||||||
|
syntax_pattern style_property_comment style_property_comment html_style_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern style_property_comment style_property_comment html_style_comment '.[^\*TFX<]*'
|
||||||
|
|
||||||
|
# rules
|
||||||
|
syntax_pattern style style html_style_rule '@[a-z0-9\-_]*' ignorecase
|
||||||
|
|
||||||
|
# selectors
|
||||||
|
syntax_pattern style style_property html_style_block '\{'
|
||||||
|
syntax_pattern style style html_style_selector '[a-z0-9_\-\*]+' ignorecase
|
||||||
|
syntax_pattern style style html_style_punctuation '[\|\.#,\[\]\(\)=:;>]+'
|
||||||
|
syntax_pattern style style_string html_style_string '"'
|
||||||
|
syntax_pattern style_string normal html_style '</style>'
|
||||||
|
syntax_pattern style_string style html_style_string '"'
|
||||||
|
syntax_pattern style_string style_string html_style_escapedchar '\\([0-9][a-f]{1,6}|.)' ignorecase
|
||||||
|
syntax_pattern style_string style_string html_style_string '.[^"<]*'
|
||||||
|
syntax_pattern style style_singlestring html_style_string "'"
|
||||||
|
syntax_pattern style_singlestring normal html_style '</style>'
|
||||||
|
syntax_pattern style_singlestring style html_style_string "'"
|
||||||
|
syntax_pattern style_singlestring style_singlestring html_style_escapedchar '\\([0-9][a-f]{1,6}|[^<])' ignorecase
|
||||||
|
syntax_pattern style_singlestring style_singlestring html_style_string ".[^'<]*"
|
||||||
|
|
||||||
|
# property
|
||||||
|
syntax_pattern style_property style html_style_block '\}'
|
||||||
|
syntax_pattern style_property style_property html_style_literal '([\+\-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)(em|pt|px|%)?|#[0-9a-f]+)' ignorecase
|
||||||
|
syntax_pattern style_property style_property html_style_important '![ \t]*important\b'
|
||||||
|
syntax_pattern style_property style_property html_style_property '[a-z0-9_\-]+' ignorecase
|
||||||
|
syntax_pattern style_property style_property html_style_punctuation '[,\(\)=:;]+'
|
||||||
|
syntax_pattern style_property style_property_string html_style_string '"'
|
||||||
|
syntax_pattern style_property_string normal html_style '</style>'
|
||||||
|
syntax_pattern style_property_string style_property html_style_string '"'
|
||||||
|
syntax_pattern style_property_string style_property_string html_style_escapedchar '\\([0-9][a-f]{1,6}|[^<])' ignorecase
|
||||||
|
syntax_pattern style_property_string style_property_string html_style_string '.[^"<]*'
|
||||||
|
syntax_pattern style_property style_property_singlestring html_style_string "'"
|
||||||
|
syntax_pattern style_property_singlestring normal html_style '</style>'
|
||||||
|
syntax_pattern style_property_singlestring style_property html_style_string "'"
|
||||||
|
syntax_pattern style_property_singlestring style_property_singlestring html_style_escapedchar '\\([0-9][a-f]{1,6}|[^<])' ignorecase
|
||||||
|
syntax_pattern style_property_singlestring style_property_singlestring html_style_string ".[^'<]*"
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern style style html_style '.'
|
||||||
|
|
||||||
|
#
|
||||||
|
# processing
|
||||||
|
#
|
||||||
|
syntax_pattern normal process html_processingtag '<\?'
|
||||||
|
syntax_pattern process process text '[ \t\r\n]+'
|
||||||
|
syntax_pattern process process_attribs html_processingtagname '\b[a-z][a-z_0-9]*([ \t]*:[ \t]*[a-z][a-z_0-9]*)?\b' ignorecase
|
||||||
|
syntax_pattern process_attribs normal html_processingtag '\?>'
|
||||||
|
syntax_pattern process_attribs process_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern process_attribs process_attribs html_punctuation '='
|
||||||
|
syntax_pattern process_attribs process_attribs html_attribute '[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern process_attribs process_string html_string '"'
|
||||||
|
syntax_pattern process_string process_attribs html_string '"'
|
||||||
|
syntax_pattern process_string process_string html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern process_string process_string html_string '.[^\&"]*'
|
||||||
|
|
||||||
|
syntax_pattern process_attribs process_singlestring html_string "'"
|
||||||
|
syntax_pattern process_singlestring process_attribs html_string "'"
|
||||||
|
syntax_pattern process_singlestring process_singlestring html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern process_singlestring process_singlestring html_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# tags
|
||||||
|
syntax_pattern normal tag html_tag '<[!/]?'
|
||||||
|
syntax_pattern tag tag text '[ \t\r\n]+'
|
||||||
|
syntax_pattern tag tag_attribs html_tagname '\b[a-z][a-z_0-9]*([ \t]*:[ \t]*[a-z][a-z_0-9]*)*\b' ignorecase
|
||||||
|
syntax_pattern tag tag_attribs text ''
|
||||||
|
syntax_pattern tag_attribs normal html_tag '/?>'
|
||||||
|
syntax_pattern tag_attribs tag_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern tag_attribs tag_attribs html_punctuation '='
|
||||||
|
syntax_pattern tag_attribs tag_attribs html_attribute '[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern tag_attribs tag_string html_string '"'
|
||||||
|
syntax_pattern tag_string tag_attribs html_string '"'
|
||||||
|
syntax_pattern tag_string tag_string html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern tag_string tag_string html_string '.[^\&"]*'
|
||||||
|
|
||||||
|
syntax_pattern tag_attribs tag_singlestring html_string "'"
|
||||||
|
syntax_pattern tag_singlestring tag_attribs html_string "'"
|
||||||
|
syntax_pattern tag_singlestring tag_singlestring html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern tag_singlestring tag_singlestring html_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# text/parsing optimisation
|
||||||
|
syntax_pattern normal normal html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern normal normal text '.[^\&<]*'
|
|
@ -0,0 +1,24 @@
|
||||||
|
# INI syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax INI normal text
|
||||||
|
syntax_files INI '\.(cfg|conf|desktop|ini|properties|url)$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour ini_comment 0.2 0.4 0.64
|
||||||
|
colour ini_fixme 1.0 0.5 0.0
|
||||||
|
colour ini_section 0.46 0.31 0.48
|
||||||
|
colour ini_variable 0.3 0.6 0.02
|
||||||
|
colour ini_value 0.0 0.0 0.0
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern normal comment ini_comment '^[#;]'
|
||||||
|
syntax_pattern comment normal ini_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment ini_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment ini_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# variable-value
|
||||||
|
syntax_pattern normal normal ini_section '\[.*\]' ignorecase
|
||||||
|
syntax_pattern normal normal ini_variable '^[^:=]+[:=]' ignorecase
|
||||||
|
|
||||||
|
# optimisation
|
||||||
|
syntax_pattern normal normal text '.+'
|
|
@ -0,0 +1,63 @@
|
||||||
|
# Java syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2011 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Java normal text
|
||||||
|
syntax_files Java '\.java$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour java_comment 0.2 0.4 0.64
|
||||||
|
colour java_fixme 1.0 0.5 0.0
|
||||||
|
colour java_import 0.46 0.31 0.48
|
||||||
|
colour java_keyword 0.77 0.63 0.0
|
||||||
|
colour java_type 0.3 0.6 0.02
|
||||||
|
colour java_literal 1.0 0.2 0.8
|
||||||
|
colour java_string 0.8 0.0 0.0
|
||||||
|
colour java_escapedchar 0.46 0.31 0.48
|
||||||
|
colour java_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment java_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal java_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment java_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment java_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment java_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment java_comment '/\*'
|
||||||
|
syntax_pattern comment normal java_comment '\*/'
|
||||||
|
syntax_pattern comment comment java_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment java_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char java_string "'"
|
||||||
|
syntax_pattern char normal java_string "'"
|
||||||
|
syntax_pattern char char java_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|u[0-9a-f]{1,4}|.))+' ignorecase
|
||||||
|
syntax_pattern char char java_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string java_string '"'
|
||||||
|
syntax_pattern string normal java_string '"'
|
||||||
|
syntax_pattern string string java_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|u[0-9a-f]{1,4}|.))+' ignorecase
|
||||||
|
syntax_pattern string string java_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal java_literal '((([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+)[fd]?|(0|[1-9][0-9]*)[fd]|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)l?)' ignorecase
|
||||||
|
syntax_pattern normal normal java_literal '\b(true|false|null)\b'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal java_import '\b(import|package)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal java_type '\b(abstract|boolean|byte|char|class|const|double|enum|extends|final|float|implements|int|interface|long|native|private|protected|public|short|static|strictfp|synchronized|throws|transient|void|volatile)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal java_keyword '\b(assert|break|case|catch|continue|default|do|else|finally|for|goto|if|instanceof|new|return|super|switch|this|throw|try|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal java_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern normal normal java_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,78 @@
|
||||||
|
# JavaScript syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax JavaScript normal text
|
||||||
|
syntax_files JavaScript '\.js$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour javascript_comment 0.2 0.4 0.64
|
||||||
|
colour javascript_fixme 1.0 0.5 0.0
|
||||||
|
colour javascript_import 0.46 0.31 0.48
|
||||||
|
colour javascript_keyword 0.77 0.63 0.0
|
||||||
|
colour javascript_type 0.3 0.6 0.02
|
||||||
|
colour javascript_regex 0.8 0.0 0.0
|
||||||
|
colour javascript_regexsep 0.77 0.63 0.0
|
||||||
|
colour javascript_literal 1.0 0.2 0.8
|
||||||
|
colour javascript_string 0.8 0.0 0.0
|
||||||
|
colour javascript_escapedchar 0.46 0.31 0.48
|
||||||
|
colour javascript_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern expr expr text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment javascript_comment '//'
|
||||||
|
syntax_pattern expr cpp_comment javascript_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal javascript_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment javascript_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment javascript_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment javascript_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment javascript_comment '/\*'
|
||||||
|
syntax_pattern expr comment javascript_comment '/\*'
|
||||||
|
syntax_pattern comment normal javascript_comment '\*/'
|
||||||
|
syntax_pattern comment comment javascript_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment javascript_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char javascript_string "'"
|
||||||
|
syntax_pattern char char javascript_escapedchar '(\\([0-7]{1,3}|u[0-9a-f]{1,4}|.))+' ignorecase
|
||||||
|
syntax_pattern char expr javascript_string "'"
|
||||||
|
syntax_pattern char char javascript_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string javascript_string '"'
|
||||||
|
syntax_pattern string string javascript_escapedchar '(\\([0-7]{1,3}|u[0-9a-f]{1,4}|.))+' ignorecase
|
||||||
|
syntax_pattern string expr javascript_string '"'
|
||||||
|
syntax_pattern string string javascript_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal expr javascript_literal '(0x[0-9a-f]+|0[0-7]+|((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)(e[\+\-]?[0-9]+)?)' ignorecase
|
||||||
|
syntax_pattern normal expr javascript_literal '\b(true|false|Infinity|NaN|null|undefined)\b'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal javascript_import '\b(import|package)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal javascript_type '\b(abstract|boolean|byte|char|class|const|double|enum|export|float|function|int|interface|long|native|private|protected|public|short|static|synchronized|transient|var|void|volatile)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal javascript_keyword '\b(break|case|catch|continue|debugger|default|delete|do|else|extends|final|finally|for|goto|if|implements|in|instanceof|new|return|switch|throw|throws|try|typeof|while|with)\b'
|
||||||
|
syntax_pattern normal expr javascript_keyword '\b(super|this)\b'
|
||||||
|
|
||||||
|
# regular expressions
|
||||||
|
syntax_pattern normal regex javascript_regexsep '/'
|
||||||
|
syntax_pattern regex expr javascript_regexsep '/[gim]*'
|
||||||
|
syntax_pattern regex regex javascript_escapedchar '\\(c.|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{1,4}|.)'
|
||||||
|
syntax_pattern regex regex javascript_regex '.[^\\/]*'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal javascript_punctuation '[\^\*%~!\+\-=\|\&\(\{\[:;,\?\<\>\}]+'
|
||||||
|
syntax_pattern normal normal javascript_punctuation '\.'
|
||||||
|
syntax_pattern normal expr javascript_punctuation '[\)\]]+'
|
||||||
|
syntax_pattern expr normal javascript_punctuation '/'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal expr text '[\$a-z_][\$a-z_0-9]*' ignorecase
|
||||||
|
syntax_pattern expr normal javascript_punctuation ''
|
|
@ -0,0 +1,29 @@
|
||||||
|
# JSON syntax file for Diffuse
|
||||||
|
# Copyright (C) 2011 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax JSON normal text
|
||||||
|
syntax_files JSON '\.json$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour json_literal 1.0 0.2 0.8
|
||||||
|
colour json_string 0.8 0.0 0.0
|
||||||
|
colour json_escapedchar 0.46 0.31 0.48
|
||||||
|
colour json_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string json_string '"'
|
||||||
|
syntax_pattern string string json_escapedchar '(\\(u[0-9a-f]{4}|.))+' ignorecase
|
||||||
|
syntax_pattern string normal json_string '"'
|
||||||
|
syntax_pattern string string json_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal json_literal '-?(0|[1-9][0-9]*)(\.[0-9]+)?(e[\+\-]?[0-9]+)?' ignorecase
|
||||||
|
syntax_pattern normal normal json_literal '\b(true|false|null)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal json_punctuation '[\{\}\[\]:,]+'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,127 @@
|
||||||
|
# JSP syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax JSP normal text
|
||||||
|
syntax_files JSP '\.jsp$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour jsp_comment 0.2 0.4 0.64
|
||||||
|
colour jsp_fixme 1.0 0.5 0.0
|
||||||
|
colour jsp_import 0.46 0.31 0.48
|
||||||
|
colour jsp_keyword 0.77 0.63 0.0
|
||||||
|
colour jsp_type 0.3 0.6 0.02
|
||||||
|
colour jsp_literal 1.0 0.2 0.8
|
||||||
|
colour jsp_string 0.8 0.0 0.0
|
||||||
|
colour jsp_escapedchar 0.46 0.31 0.48
|
||||||
|
colour jsp_punctuation 0.5 0.5 0.5
|
||||||
|
colour jsp_tag 0.46 0.31 0.48
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour jsp_html_comment 0.2 0.4 0.64
|
||||||
|
colour jsp_html_fixme 1.0 0.5 0.0
|
||||||
|
colour jsp_html_escapedchar 0.77 0.63 0.0
|
||||||
|
colour jsp_html_tag 0.02 0.6 0.6
|
||||||
|
colour jsp_html_tagname 0.77 0.63 0.0
|
||||||
|
colour jsp_html_punctuation 0.5 0.5 0.5
|
||||||
|
colour jsp_html_attribute 0.3 0.6 0.02
|
||||||
|
colour jsp_html_string 0.8 0.0 0.0
|
||||||
|
|
||||||
|
# jsp tag
|
||||||
|
syntax_pattern normal jsp jsp_tag '<%=?'
|
||||||
|
syntax_pattern jsp normal jsp_tag '%>'
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern jsp jsp text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern jsp cpp_comment jsp_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal jsp_tag '%>'
|
||||||
|
syntax_pattern cpp_comment jsp jsp_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment jsp_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment jsp_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment jsp_comment '.[^\\TFX\r\n%]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern jsp comment jsp_comment '/\*'
|
||||||
|
syntax_pattern comment normal jsp_tag '%>'
|
||||||
|
syntax_pattern comment jsp jsp_comment '\*/'
|
||||||
|
syntax_pattern comment comment jsp_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment jsp_comment '.[^\*TFX%]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern jsp char jsp_string "'"
|
||||||
|
syntax_pattern char normal jsp_tag '%>'
|
||||||
|
syntax_pattern char jsp jsp_string "'"
|
||||||
|
syntax_pattern char char jsp_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|u[0-9a-f]{1,4}|[^%]))+' ignorecase
|
||||||
|
syntax_pattern char char jsp_string ".[^\\\\'%]*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern jsp string jsp_string '"'
|
||||||
|
syntax_pattern string normal jsp_tag '%>'
|
||||||
|
syntax_pattern string jsp jsp_string '"'
|
||||||
|
syntax_pattern string string jsp_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|u[0-9a-f]{1,4}|[^%]))+' ignorecase
|
||||||
|
syntax_pattern string string jsp_string '.[^\\"%]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern jsp jsp jsp_literal '((([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+)[fd]?|(0|[1-9][0-9]*)[fd]|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)l?)' ignorecase
|
||||||
|
syntax_pattern jsp jsp jsp_literal '\b(true|false|null)\b'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern jsp jsp jsp_import '\b(import|package)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern jsp jsp jsp_type '\b(abstract|boolean|byte|char|class|const|double|enum|final|float|int|interface|long|native|private|protected|public|short|static|synchronized|transient|void|volatile)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern jsp jsp jsp_keyword '\b(assert|break|case|catch|continue|default|do|else|extends|finally|for|goto|if|implements|instanceof|new|return|strictfp|super|switch|this|throw|throws|try|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern jsp jsp jsp_punctuation '[!~\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern jsp jsp jsp_punctuation '[%/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern jsp jsp text '[a-z_][a-z_0-9]*' ignorecase
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal html_comment jsp_html_comment '<!--'
|
||||||
|
syntax_pattern html_comment jsp_html_comment jsp_tag '<%=?'
|
||||||
|
syntax_pattern jsp_html_comment html_comment jsp_tag '%>'
|
||||||
|
syntax_pattern jsp_html_comment jsp_html_comment jsp_tag '.[^%]*'
|
||||||
|
syntax_pattern html_comment normal html_comment '-->'
|
||||||
|
syntax_pattern html_comment html_comment jsp_html_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern html_comment html_comment jsp_html_comment '.[^TFX\-%]*'
|
||||||
|
|
||||||
|
# tags
|
||||||
|
syntax_pattern normal html_tag jsp_html_tag '<[!/]?'
|
||||||
|
syntax_pattern html_tag jsp_html_tag jsp_tag '<%=?'
|
||||||
|
syntax_pattern jsp_html_tag html_tag jsp_tag '%>'
|
||||||
|
syntax_pattern jsp_html_tag jsp_html_tag jsp_tag '.[^%]*'
|
||||||
|
syntax_pattern html_tag html_tag text '[ \t\r\n]+'
|
||||||
|
syntax_pattern html_tag html_tag_attribs jsp_html_tagname '\b[a-z][a-z_0-9]*([ \t]*:[ \t]*[a-z][a-z_0-9]*)*\b' ignorecase
|
||||||
|
syntax_pattern html_tag_attribs jsp_html_tag_attribs jsp_tag '<%=?'
|
||||||
|
syntax_pattern jsp_html_tag_attribs html_tag_attribs jsp_tag '%>'
|
||||||
|
syntax_pattern jsp_html_tag_attribs jsp_html_tag_attribs jsp_tag '.[^%]*'
|
||||||
|
syntax_pattern html_tag html_tag_attribs text ''
|
||||||
|
syntax_pattern html_tag_attribs normal jsp_html_tag '/?>'
|
||||||
|
syntax_pattern html_tag_attribs html_tag_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern html_tag_attribs html_tag_attribs jsp_html_punctuation '='
|
||||||
|
syntax_pattern html_tag_attribs html_tag_attribs jsp_html_attribute '[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern html_tag_attribs html_tag_string jsp_html_string '"'
|
||||||
|
syntax_pattern html_tag_string jsp_html_tag_string jsp_tag '<%=?'
|
||||||
|
syntax_pattern jsp_html_tag_string html_tag_string jsp_tag '%>'
|
||||||
|
syntax_pattern jsp_html_tag_string jsp_html_tag_string jsp_tag '.[^%]*'
|
||||||
|
syntax_pattern html_tag_string html_tag_attribs jsp_html_string '"'
|
||||||
|
syntax_pattern html_tag_string html_tag_string jsp_html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern html_tag_string html_tag_string jsp_html_string '.[^\&"%]*'
|
||||||
|
|
||||||
|
syntax_pattern html_tag_attribs html_tag_singlestring jsp_html_string "'"
|
||||||
|
syntax_pattern html_tag_singlestring jsp_html_tag_singlestring jsp_tag '<%=?'
|
||||||
|
syntax_pattern jsp_html_tag_singlestring html_tag_singlestring jsp_tag '%>'
|
||||||
|
syntax_pattern jsp_html_tag_singlestring jsp_html_tag_singlestring jsp_tag '.[^%]*'
|
||||||
|
syntax_pattern html_tag_singlestring html_tag_attribs jsp_html_string "'"
|
||||||
|
syntax_pattern html_tag_singlestring html_tag_singlestring jsp_html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern html_tag_singlestring html_tag_singlestring jsp_html_string ".[^\\&'%]*"
|
||||||
|
|
||||||
|
# text/parsing optimisation
|
||||||
|
syntax_pattern normal normal jsp_html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern normal normal text '.[^\&<]*'
|
|
@ -0,0 +1,82 @@
|
||||||
|
# Makefile syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Makefile normal text
|
||||||
|
syntax_files Makefile '^(GNUmakefile|[Mm]akefile)$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour makefile_continue 0.46 0.31 0.48
|
||||||
|
colour makefile_comment 0.2 0.4 0.64
|
||||||
|
colour makefile_fixme 1.0 0.5 0.0
|
||||||
|
colour makefile_keyword 0.46 0.31 0.48
|
||||||
|
colour makefile_processor 0.8 0.0 0.0
|
||||||
|
colour makefile_declaration 0.02 0.6 0.6
|
||||||
|
colour makefile_step 0.46 0.31 0.48
|
||||||
|
colour makefile_commands 0.8 0.0 0.0
|
||||||
|
colour makefile_target 0.02 0.6 0.6
|
||||||
|
colour makefile_variable 0.02 0.6 0.6
|
||||||
|
|
||||||
|
# continuation
|
||||||
|
syntax_pattern normal normal makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
|
||||||
|
# normal comment
|
||||||
|
syntax_pattern normal normal_comment makefile_comment '#'
|
||||||
|
syntax_pattern normal_comment normal makefile_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern normal_comment normal makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern normal_comment normal_comment makefile_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern normal_comment normal_comment makefile_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# processor
|
||||||
|
syntax_pattern normal processor makefile_keyword '^ *(define|undef|[\-s]?include|ifdef|ifndef|ifeq|ifneq|else|endif|override|export|unexport|vpath)\b'
|
||||||
|
syntax_pattern processor normal makefile_processor '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern processor processor makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern processor processor makefile_variable '\$(\([^\)]+\)|@|%|<|\?|\^|\+|\*)'
|
||||||
|
syntax_pattern processor processor makefile_processor '.[^\\#\$\r\n]*'
|
||||||
|
|
||||||
|
# processor comment
|
||||||
|
syntax_pattern processor processor_comment makefile_comment '#'
|
||||||
|
syntax_pattern processor_comment processor makefile_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern processor_comment processor makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern processor_comment processor_comment makefile_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern processor_comment processor_comment makefile_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# commands
|
||||||
|
syntax_pattern normal commands makefile_step '^\t-?@?'
|
||||||
|
syntax_pattern commands normal makefile_continue '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern commands commands makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern commands commands makefile_variable '\$(\([^\)]+\)|@|%|<|\?|\^|\+|\*)'
|
||||||
|
syntax_pattern commands commands makefile_commands '.[^\\#\$\r\n]*'
|
||||||
|
|
||||||
|
# commands comment
|
||||||
|
syntax_pattern commands commands_comment makefile_comment '#'
|
||||||
|
syntax_pattern commands_comment commands makefile_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern commands_comment commands makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern commands_comment commands_comment makefile_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern commands_comment commands_comment makefile_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# variable declarations
|
||||||
|
syntax_pattern normal declaration makefile_declaration '^ *[A-Za-z_][A-Za-z_0-9]*[ \t]*[:\?\+]?='
|
||||||
|
syntax_pattern declaration normal makefile_continue '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern declaration declaration makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern declaration declaration makefile_variable '\$(\([^\)]+\)|@|%|<|\?|\^|\+|\*)'
|
||||||
|
syntax_pattern declaration declaration text '.[^\\#\$\r\n]*'
|
||||||
|
|
||||||
|
# variable declaration comment
|
||||||
|
syntax_pattern declaration declaration_comment makefile_comment '#'
|
||||||
|
syntax_pattern declaration_comment declaration makefile_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern declaration_comment declaration makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern declaration_comment declaration_comment makefile_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern declaration_comment declaration_comment makefile_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
syntax_pattern normal depends makefile_target '^[^#:]*::?'
|
||||||
|
syntax_pattern depends normal makefile_continue '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern depends depends makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern depends depends makefile_variable '\$(\([^\)]+\)|@|%|<|\?|\^|\+|\*)'
|
||||||
|
syntax_pattern depends depends text '.[^\\#\$\r\n]*'
|
||||||
|
|
||||||
|
# depends comment
|
||||||
|
syntax_pattern depends depends_comment makefile_comment '#'
|
||||||
|
syntax_pattern depends_comment depends makefile_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern depends_comment depends makefile_continue '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern depends_comment depends_comment makefile_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern depends_comment depends_comment makefile_comment '.[^TFX\r\n]*'
|
|
@ -0,0 +1,74 @@
|
||||||
|
# Objective-C++ syntax file for Diffuse
|
||||||
|
# Copyright (C) 2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Objective-C++ normal text
|
||||||
|
syntax_files Objective-C++ '\.mm?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour objc_comment 0.2 0.4 0.64
|
||||||
|
colour objc_fixme 1.0 0.5 0.0
|
||||||
|
colour objc_keyword 0.77 0.63 0.0
|
||||||
|
colour objc_type 0.3 0.6 0.02
|
||||||
|
colour objc_cpp 0.8 0.0 0.0
|
||||||
|
colour objc_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour objc_literal 1.0 0.2 0.8
|
||||||
|
colour objc_string 0.8 0.0 0.0
|
||||||
|
colour objc_escapedchar 0.46 0.31 0.48
|
||||||
|
colour objc_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# preprocessor
|
||||||
|
syntax_pattern normal cpp objc_cppkeyword '^[ \t]*#[ \t]*(define|elif|else|endif|error|if|ifdef|ifndef|import|include|line|pragma|undef|warning)\b'
|
||||||
|
syntax_pattern cpp normal objc_cppkeyword '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment objc_comment '//'
|
||||||
|
syntax_pattern cpp cpp_comment objc_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal objc_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment objc_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment objc_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment objc_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment objc_comment '/\*'
|
||||||
|
syntax_pattern comment normal objc_comment '\*/'
|
||||||
|
syntax_pattern comment comment objc_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment objc_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
syntax_pattern cpp comment_cpp objc_comment '/\*'
|
||||||
|
syntax_pattern comment_cpp cpp objc_comment '\*/'
|
||||||
|
syntax_pattern comment_cpp comment_cpp objc_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment_cpp comment_cpp objc_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# preprocessor args
|
||||||
|
syntax_pattern cpp cpp objc_cpp '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp cpp objc_cpp '.[^\\/\r\n]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char objc_string "L?'"
|
||||||
|
syntax_pattern char normal objc_string "'"
|
||||||
|
syntax_pattern char char objc_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern char char objc_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string objc_string '[L@]?"'
|
||||||
|
syntax_pattern string normal objc_string '"'
|
||||||
|
syntax_pattern string string objc_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern string string objc_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal objc_literal '((([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+)[fl]?|(0|[1-9][0-9]*)f|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)(ul?|lu?)?)' ignorecase
|
||||||
|
syntax_pattern normal normal objc_literal '\b(true|false|M_E|M_LOG2E|M_LOG10E|M_LN2|M_LN10|M_PI|M_PI_2|M_PI_4|M_1_PI|M_2_PI|M_2_SQRTPI|M_SQRT2|M_SQRT1_2|nil|Nil|NO|NULL|YES)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal objc_type '\b(auto|bool|BOOL|bycopy|byref|char|class|Class|const|double|enum|explicit|export|extern|float|id|IMP|in|inline|inout|int|long|mutable|namespace|oneway|out|register|SEL|short|signed|static|struct|STR|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal objc_keyword '@(catch|class|dynamic|encode|end|finally|implementation|interface|optional|package|private|property|protected|protocol|protocol|public|required|selector|synchronized|synthesize|throw|try)\b'
|
||||||
|
syntax_pattern normal normal objc_keyword '\b(_cmd|asm|break|case|catch|const_cast|continue|default|delete|do|dynamic_cast|else|for|friend|goto|if|new|operator|private|protected|public|reinterpret_cast|return|self|sizeof|static_cast|super|switch|this|throw|try|typeid|using|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal objc_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern normal normal objc_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,64 @@
|
||||||
|
# Octave syntax file for Diffuse
|
||||||
|
# Copyright (C) 2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Octave normal text
|
||||||
|
# We want Diffuse's default behaviour tot identify files with the '.m'
|
||||||
|
# extension as Objective-C files so we do not define a rule for matching files
|
||||||
|
# with the extension '.m' here.
|
||||||
|
#syntax_files Octave '\.m$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour octave_comment 0.2 0.4 0.64
|
||||||
|
colour octave_fixme 1.0 0.5 0.0
|
||||||
|
colour octave_keyword 0.77 0.63 0.0
|
||||||
|
colour octave_type 0.3 0.6 0.02
|
||||||
|
colour octave_literal 1.0 0.2 0.8
|
||||||
|
colour octave_string 0.8 0.0 0.0
|
||||||
|
colour octave_escapedchar 0.46 0.31 0.48
|
||||||
|
colour octave_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
syntax_pattern op op octave_punctuation "'+"
|
||||||
|
syntax_pattern op normal octave_punctuation ''
|
||||||
|
|
||||||
|
# block comments
|
||||||
|
syntax_pattern normal block_comment octave_comment '^%\{(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern block_comment normal octave_comment '^%\}(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern block_comment block_comment octave_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern block_comment block_comment octave_comment '.[^TFX]*'
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern normal comment octave_comment '[#%]'
|
||||||
|
syntax_pattern comment normal octave_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment octave_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment octave_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char octave_string "'"
|
||||||
|
syntax_pattern char char octave_escapedchar "''"
|
||||||
|
syntax_pattern char op octave_string "'"
|
||||||
|
syntax_pattern char char octave_string ".[^']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string octave_string '"'
|
||||||
|
syntax_pattern string string octave_escapedchar '(\\.)+'
|
||||||
|
syntax_pattern string op octave_string '"'
|
||||||
|
syntax_pattern string string octave_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal op octave_literal '[0-9]+(\.[0-9]+)?(e[\+\-]?[0-9]+)?[ij]?' ignorecase
|
||||||
|
syntax_pattern normal op octave_literal '\b(Inf|NA|NaN)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal op octave_type '\b(char|double|logical|single|u?int(8|16|32|64))\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal op octave_keyword '\b(break|case|catch|continue|do|else|elseif|end|endfor|endfunction|endif|endswitch|end_try_catch|end_unwind_protect|endwhile|for|function|global|if|otherwise|persistent|return|switch|try|until|unwind_protect(_cleanup)?|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal op octave_punctuation '[\]\)\}\.]+'
|
||||||
|
syntax_pattern normal normal octave_punctuation '[\[\(\{:;,~&\|=<>\*/\+\-@\^\\!]+'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal op text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,75 @@
|
||||||
|
# OpenCL syntax file for Diffuse
|
||||||
|
# Copyright (C) 2012 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax OpenCL normal text
|
||||||
|
syntax_files OpenCL '\.cl$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour opencl_comment 0.2 0.4 0.64
|
||||||
|
colour opencl_fixme 1.0 0.5 0.0
|
||||||
|
colour opencl_keyword 0.77 0.63 0.0
|
||||||
|
colour opencl_type 0.3 0.6 0.02
|
||||||
|
colour opencl_cpp 0.8 0.0 0.0
|
||||||
|
colour opencl_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour opencl_literal 1.0 0.2 0.8
|
||||||
|
colour opencl_string 0.8 0.0 0.0
|
||||||
|
colour opencl_escapedchar 0.46 0.31 0.48
|
||||||
|
colour opencl_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# preprocessor
|
||||||
|
syntax_pattern normal cpp opencl_cppkeyword '^[ \t]*#[ \t]*(define|elif|else|endif|error|if|ifdef|ifndef|include|line|pragma|undef|warning)\b'
|
||||||
|
syntax_pattern cpp normal opencl_cppkeyword '(\r\n|\r|\n)$'
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment opencl_comment '//'
|
||||||
|
syntax_pattern cpp cpp_comment opencl_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal opencl_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment opencl_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment opencl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment opencl_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment opencl_comment '/\*'
|
||||||
|
syntax_pattern comment normal opencl_comment '\*/'
|
||||||
|
syntax_pattern comment comment opencl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment opencl_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
syntax_pattern cpp comment_cpp opencl_comment '/\*'
|
||||||
|
syntax_pattern comment_cpp cpp opencl_comment '\*/'
|
||||||
|
syntax_pattern comment_cpp comment_cpp opencl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment_cpp comment_cpp opencl_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# preprocessor args
|
||||||
|
syntax_pattern cpp cpp opencl_cpp '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp cpp opencl_cpp '.[^\\/\r\n]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char opencl_string "L?'"
|
||||||
|
syntax_pattern char normal opencl_string "'"
|
||||||
|
syntax_pattern char char opencl_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern char char opencl_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string opencl_string 'L?"'
|
||||||
|
syntax_pattern string normal opencl_string '"'
|
||||||
|
syntax_pattern string string opencl_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern string string opencl_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal opencl_literal '((([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+)[fl]?|(0|[1-9][0-9]*)f|(0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)(ul?|lu?)?)' ignorecase
|
||||||
|
syntax_pattern normal normal opencl_literal '\b(true|false|M_E|M_LOG2E|M_LOG10E|M_LN2|M_LN10|M_PI|M_PI_2|M_PI_4|M_1_PI|M_2_PI|M_2_SQRTPI|M_SQRT2|M_SQRT1_2|NULL)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal opencl_type '\b(auto|bool|class|const|enum|explicit|export|extern|event_t|image[123]d_t|image[12]d_array_t|image1d_buffer_t|inline|u?intptr_t|mutable|namespace|ptrdiff_t|register|sampler_t|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t|(u?(char|int|long|short)|double|float|half)(2|3|4|8|16)?|(__)?(constant|global|kernel|local|read_only|read_write|write_only))\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal opencl_keyword '\b(asm|break|case|catch|const_cast|continue|default|delete|do|dynamic_cast|else|for|friend|goto|if|new|operator|(__)?private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal opencl_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?]+'
|
||||||
|
syntax_pattern normal normal opencl_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,70 @@
|
||||||
|
# Pascal syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Pascal normal text
|
||||||
|
syntax_files Pascal '\.pas$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour pascal_comment 0.2 0.4 0.64
|
||||||
|
colour pascal_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour pascal_cpp 0.8 0.0 0.0
|
||||||
|
colour pascal_fixme 1.0 0.5 0.0
|
||||||
|
colour pascal_import 0.46 0.31 0.48
|
||||||
|
colour pascal_keyword 0.77 0.63 0.0
|
||||||
|
colour pascal_type 0.3 0.6 0.02
|
||||||
|
colour pascal_literal 1.0 0.2 0.8
|
||||||
|
colour pascal_string 0.8 0.0 0.0
|
||||||
|
colour pascal_escapedchar 0.46 0.31 0.48
|
||||||
|
colour pascal_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# old style comments
|
||||||
|
syntax_pattern normal comment pascal_comment '\(\*'
|
||||||
|
syntax_pattern comment normal pascal_comment '\*\)'
|
||||||
|
syntax_pattern comment comment pascal_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment pascal_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# new style comments
|
||||||
|
syntax_pattern normal cpp pascal_cppkeyword '\{\$[a-z_0-9]*' ignorecase
|
||||||
|
syntax_pattern cpp normal pascal_cppkeyword '\}'
|
||||||
|
syntax_pattern cpp cpp pascal_cpp '.[^\}]*'
|
||||||
|
|
||||||
|
# new style comments
|
||||||
|
syntax_pattern normal new_comment pascal_comment '\{'
|
||||||
|
syntax_pattern new_comment normal pascal_comment '\}'
|
||||||
|
syntax_pattern new_comment new_comment pascal_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern new_comment new_comment pascal_comment '.[^\}TFX]*'
|
||||||
|
|
||||||
|
# delphi style comments
|
||||||
|
syntax_pattern normal delphi_comment pascal_comment '//'
|
||||||
|
syntax_pattern delphi_comment normal pascal_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern delphi_comment delphi_comment pascal_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern delphi_comment delphi_comment pascal_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string pascal_string "'"
|
||||||
|
syntax_pattern string string pascal_escapedchar "''"
|
||||||
|
syntax_pattern string normal pascal_string "'"
|
||||||
|
syntax_pattern string string pascal_string ".[^']*"
|
||||||
|
syntax_pattern normal normal pascal_escapedchar '#[0-9]+'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal pascal_literal '([0-9]+(\.[0-9]*)?(e[\+\-]?[0-9]+)?|\$[0-9a-f]+|%[01]+)' ignorecase
|
||||||
|
syntax_pattern normal normal pascal_literal '\b(false|true|nil)\b' ignorecase
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal pascal_import '\b(program|unit|uses)\b' ignorecase
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal pascal_type '\b(absolute|ansistring|array|boolean|byte|bytebool|cardinal|char|comp|double|extended|external|far|file|forward|inline|int64|integer|longbool|longint|near|pchar|pointer|qword|real|set|shortint|shortstring|single|smallint|string|virtual|word|wordbool)\b' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal pascal_keyword '\b(abstract|alias|and|as|asm|assembler|begin|break|case|cdecl|class|const|constructor|continue|default|destructor|dispose|div|do|downto|else|end|except|exit|exports|external|finalization|finally|for|function|goto|if|implementation|in|index|inherited|initialization|interface|is|label|library|mod|name|new|not|object|of|on|operator|or|override|packed|pascal|popstack|private|procedure|property|protected|public|published|raise|read|record|register|repeat|saveregisters|self|shl|shr|stdcall|then|to|try|type|until|var|while|with|write|xor)\b' ignorecase
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal pascal_punctuation '[\+\-\*=<>\[\]\.,\):;\^@]+'
|
||||||
|
syntax_pattern normal normal pascal_punctuation '[\(/]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Patch syntax file for Diffuse
|
||||||
|
# Copyright (C) 2013 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Patch comment text
|
||||||
|
syntax_files Patch '\.patch$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour patch_comment 0.2 0.4 0.64
|
||||||
|
colour patch_info 0.46 0.31 0.48
|
||||||
|
colour patch_location 0.77 0.63 0.0
|
||||||
|
colour patch_add 0.3 0.6 0.02
|
||||||
|
colour patch_remove 0.8 0.0 0.0
|
||||||
|
|
||||||
|
# information
|
||||||
|
syntax_pattern comment normal patch_info '^(diff|---|\+\+\+) .*\n?'
|
||||||
|
syntax_pattern normal normal patch_info '^(diff|---|\+\+\+) .*\n?'
|
||||||
|
|
||||||
|
# location
|
||||||
|
syntax_pattern normal location patch_location '^@@[^@]*@@'
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern comment comment patch_comment '.*\n?'
|
||||||
|
syntax_pattern location normal patch_comment '.*\n?'
|
||||||
|
|
||||||
|
# changes
|
||||||
|
syntax_pattern normal normal patch_add '^\+.*\n?'
|
||||||
|
syntax_pattern normal normal patch_remove '^-.*\n?'
|
||||||
|
|
||||||
|
# optimisation
|
||||||
|
syntax_pattern normal normal text '.*\n?'
|
|
@ -0,0 +1,103 @@
|
||||||
|
# Perl syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Perl normal text
|
||||||
|
syntax_files Perl '\.p[hlm]$'
|
||||||
|
syntax_magic Perl '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?perl[0-9\.]*([ \t].*)?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour perl_comment 0.2 0.4 0.64
|
||||||
|
colour perl_fixme 1.0 0.5 0.0
|
||||||
|
colour perl_keyword 0.77 0.63 0.0
|
||||||
|
colour perl_import 0.46 0.31 0.48
|
||||||
|
colour perl_literal 1.0 0.2 0.8
|
||||||
|
colour perl_string 0.8 0.0 0.0
|
||||||
|
colour perl_escapedchar 0.46 0.31 0.48
|
||||||
|
colour perl_function 0.02 0.6 0.6
|
||||||
|
colour perl_punctuation 0.5 0.5 0.5
|
||||||
|
colour perl_variable 0.02 0.6 0.6
|
||||||
|
colour perl_regexsep 0.77 0.63 0.0
|
||||||
|
colour perl_regex 0.8 0.0 0.0
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern expr expr text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment perl_comment '#'
|
||||||
|
syntax_pattern comment normal perl_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment perl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment perl_comment '.[^TFX\r\n]*'
|
||||||
|
syntax_pattern normal doc perl_comment '^=(head1|head2|item|over|back|pod|for|begin|end)\b'
|
||||||
|
syntax_pattern doc normal perl_comment '^=cut\b'
|
||||||
|
syntax_pattern doc doc perl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern doc doc perl_comment '.[^TFX]*'
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern normal double_string perl_string '"'
|
||||||
|
syntax_pattern double_string expr perl_string '"'
|
||||||
|
syntax_pattern double_string double_string perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern double_string double_string perl_variable '(@|\$#?|%)[a-z_][a-z_0-9]*\b' ignorecase
|
||||||
|
syntax_pattern double_string double_string perl_string '.[^\\"@\$%]*'
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern normal single_string perl_string "'"
|
||||||
|
syntax_pattern single_string expr perl_string "'"
|
||||||
|
syntax_pattern single_string single_string perl_string ".[^\\']*"
|
||||||
|
|
||||||
|
# `-style strings
|
||||||
|
syntax_pattern normal backquote perl_string '`'
|
||||||
|
syntax_pattern backquote expr perl_string '`'
|
||||||
|
syntax_pattern backquote backquote perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern backquote backquote perl_variable '(@|\$#?|%)[a-z_][a-z_0-9]*\b' ignorecase
|
||||||
|
syntax_pattern backquote backquote perl_string '.[^\\`@\$%]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal expr perl_literal '(((0|[1-9][0-9])*\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|(0|[1-9][0-9]*)e[\+\-]?[0-9]+|0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)' ignorecase
|
||||||
|
|
||||||
|
# variable
|
||||||
|
syntax_pattern normal expr perl_variable "(@(\\+|-|[A-Za-z_][A-Za-z0-9_]*)?|%(\\+|-|!|^H|[A-Za-z_][A-Za-z0-9_]*)?|\\$([\\?&`'\\+\\./\\|,\\\\\\\";%=\\-~^:!\\$<>\\(\\)\\[\\]]|^[ACDEFHIMNOPRSTVWX]|#?[A-Za-z0-9_]+)?)"
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal perl_keyword '\b(abs|accept|alarm|and|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|cmp|connect|continue|cos|crypt|dbmclose|dbmopen|default|defined|delete|die|do|dump|each|else|elsif|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eq|eval|exec|exists|exit|exp|fcntl|fileno|flock|for|foreach|fork|format|formline|ge|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|given|glob|gmtime|goto|grep|gt|hex|if|index|int|ioctl|join|keys|kill|last|lc|lcfirst|le|length|link|listen|local|localtime|log|lstat|lt|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|ne|next|not|oct|open|opendir|or|ord|pack|pipe|pop|pos|print|printf|prototype|push|quotemeta|qw|qx|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unless|unlink|unpack|unshift|untie|until|utime|values|vec|wait|waitpid|wantarray|warn|when|while|write|xor)\b'
|
||||||
|
syntax_pattern normal normal perl_keyword '-[AbBcCdefgklMoOprRsStTuwWxXz]\b'
|
||||||
|
|
||||||
|
# special kewords
|
||||||
|
syntax_pattern normal normal perl_import '\b(import|no|package|require|use)\b'
|
||||||
|
|
||||||
|
# function/class definitions
|
||||||
|
syntax_pattern normal declaration perl_keyword '\b(sub)\b'
|
||||||
|
syntax_pattern declaration declaration text '[ \t]+'
|
||||||
|
syntax_pattern declaration normal perl_function '\b[a-z_][a-z_0-9]*\b' ignorecase
|
||||||
|
syntax_pattern declaration normal text ''
|
||||||
|
|
||||||
|
# expressions
|
||||||
|
syntax_pattern normal expression perl_regexsep 'm?/'
|
||||||
|
syntax_pattern expression expr perl_regexsep '/[cgimposx]*'
|
||||||
|
syntax_pattern expression expression perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern expression expression perl_regex '.[^\\/]*'
|
||||||
|
|
||||||
|
# search and replace
|
||||||
|
syntax_pattern normal search perl_regexsep 's/'
|
||||||
|
syntax_pattern search replace perl_regexsep '/'
|
||||||
|
syntax_pattern search search perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern search search perl_regex '.[^\\/]*'
|
||||||
|
syntax_pattern replace expr perl_regexsep '/[cegimposx]*'
|
||||||
|
syntax_pattern replace replace perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern replace replace perl_regex '.[^\\/]*'
|
||||||
|
|
||||||
|
# translate
|
||||||
|
syntax_pattern normal translate_search perl_regexsep '(tr|y)/'
|
||||||
|
syntax_pattern translate_search translate_replace perl_regexsep '/'
|
||||||
|
syntax_pattern translate_search translate_search perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern translate_search translate_search perl_regex '.[^\\/]*'
|
||||||
|
syntax_pattern translate_replace expr perl_regexsep '/[cds]*'
|
||||||
|
syntax_pattern translate_replace translate_replace perl_escapedchar '(\\([0-7]{1,3}|x([A-Za-z0-9]{2}|\{[A-Za-z0-9]+\})|\\N\{[A-Za-z]*\}|c?.))+'
|
||||||
|
syntax_pattern translate_replace translate_replace perl_regex '.[^\\/]*'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal perl_punctuation '[=\(,~!&\|\^;\[\{\}<>\+\-\*:]+'
|
||||||
|
syntax_pattern normal normal perl_punctuation '\.'
|
||||||
|
syntax_pattern normal expr perl_punctuation '[\)\]]+'
|
||||||
|
syntax_pattern expr normal perl_punctuation '/'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal expr text '[a-z_][a-z_0-9]*' ignorecase
|
||||||
|
syntax_pattern expr normal perl_regex ''
|
|
@ -0,0 +1,124 @@
|
||||||
|
# PHP syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax PHP normal text
|
||||||
|
syntax_files PHP '\.php$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour php_comment 0.2 0.4 0.64
|
||||||
|
colour php_fixme 1.0 0.5 0.0
|
||||||
|
colour php_tag 0.46 0.31 0.48
|
||||||
|
colour php_import 0.46 0.31 0.48
|
||||||
|
colour php_keyword 0.77 0.63 0.0
|
||||||
|
colour php_type 0.3 0.6 0.02
|
||||||
|
colour php_literal 1.0 0.2 0.8
|
||||||
|
colour php_string 0.8 0.0 0.0
|
||||||
|
colour php_escapedchar 0.46 0.31 0.48
|
||||||
|
colour php_punctuation 0.5 0.5 0.5
|
||||||
|
colour php_variable 0.02 0.6 0.6
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour php_html_comment 0.2 0.4 0.64
|
||||||
|
colour php_html_fixme 1.0 0.5 0.0
|
||||||
|
colour php_html_escapedchar 0.77 0.63 0.0
|
||||||
|
colour php_html_tag 0.02 0.6 0.6
|
||||||
|
colour php_html_tagname 0.77 0.63 0.0
|
||||||
|
colour php_html_punctuation 0.5 0.5 0.5
|
||||||
|
colour php_html_attribute 0.3 0.6 0.02
|
||||||
|
colour php_html_string 0.8 0.0 0.0
|
||||||
|
|
||||||
|
# php tags
|
||||||
|
syntax_pattern normal php php_tag '<\?(php)?=?' ignorecase
|
||||||
|
syntax_pattern php normal php_tag '\?>'
|
||||||
|
|
||||||
|
# whitespace and comments
|
||||||
|
syntax_pattern php php text '[ \t\r\n]+'
|
||||||
|
syntax_pattern php comment php_comment '(//|#)'
|
||||||
|
syntax_pattern comment normal php_tag '\?>'
|
||||||
|
syntax_pattern comment php php_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment php_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment php_comment '.[^TFX\r\n\?]*'
|
||||||
|
syntax_pattern php c_comment php_comment '/\*'
|
||||||
|
syntax_pattern c_comment normal php_tag '\?>'
|
||||||
|
syntax_pattern c_comment php php_comment '\*/'
|
||||||
|
syntax_pattern c_comment c_comment php_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern c_comment c_comment php_comment '.[^\*\?TFX]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern php char php_string "'"
|
||||||
|
syntax_pattern char php php_string "'"
|
||||||
|
syntax_pattern char char php_escapedchar "\\\\[\\\\']"
|
||||||
|
syntax_pattern char char php_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern php string php_string '"'
|
||||||
|
syntax_pattern string php php_string '"'
|
||||||
|
syntax_pattern string string php_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern string string php_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern php php php_literal '(([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+|0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)' ignorecase
|
||||||
|
syntax_pattern php php php_literal '\b(true|false|null)\b' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern php php php_keyword '\b(and|as|break|case|catch|clone|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|exit|extends|eval|final|for|foreach|goto|if|implements|instanceof|isset|namespace|new|or|print|return|switch|this|throw|try|unset|unset|use|while|xor)\b' ignorecase
|
||||||
|
|
||||||
|
# import
|
||||||
|
syntax_pattern php php php_import '\b(include|include_once|require|require_once)\b' ignorecase
|
||||||
|
|
||||||
|
# types
|
||||||
|
syntax_pattern php php php_type '\b(abstract|array|bool|boolean|class|const|double|float|function|global|int|interface|integer|list|object|private|protected|public|static|string|var)\b' ignorecase
|
||||||
|
|
||||||
|
# variables
|
||||||
|
syntax_pattern php php php_variable '\$+[a-z_\x7f-\xff][a-z0-9_\x7f-\xff]*' ignorecase
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern php php php_punctuation '[@!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,]+'
|
||||||
|
syntax_pattern php php php_punctuation '[/\?\.]'
|
||||||
|
|
||||||
|
# optimisation
|
||||||
|
syntax_pattern php php text '[a-z_0-9]+' ignorecase
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal html_comment php_html_comment '<!--'
|
||||||
|
syntax_pattern html_comment php_html_comment php_tag '<\?(php)?=?' ignorecase
|
||||||
|
syntax_pattern php_html_comment html_comment php_tag '\?>'
|
||||||
|
syntax_pattern php_html_comment php_html_comment php_tag '.[^\?]*'
|
||||||
|
syntax_pattern html_comment normal html_comment '-->'
|
||||||
|
syntax_pattern html_comment html_comment php_html_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern html_comment html_comment php_html_comment '.[^TFX\-<]*'
|
||||||
|
|
||||||
|
# tags
|
||||||
|
syntax_pattern normal html_tag php_html_tag '<[!/]?'
|
||||||
|
syntax_pattern html_tag php_html_tag php_tag '<\?(php)?=?' ignorecase
|
||||||
|
syntax_pattern php_html_tag html_tag php_tag '\?>'
|
||||||
|
syntax_pattern php_html_tag php_html_tag php_tag '.[^\?]*'
|
||||||
|
syntax_pattern html_tag html_tag text '[ \t\r\n]+'
|
||||||
|
syntax_pattern html_tag html_tag_attribs php_html_tagname '\b[a-z][a-z_0-9]*([ \t]*:[ \t]*[a-z][a-z_0-9]*)*\b' ignorecase
|
||||||
|
syntax_pattern html_tag_attribs php_html_tag_attribs php_tag '<\?(php)?=?' ignorecase
|
||||||
|
syntax_pattern php_html_tag_attribs html_tag_attribs php_tag '\?>'
|
||||||
|
syntax_pattern php_html_tag_attribs php_html_tag_attribs php_tag '.[^\?]*'
|
||||||
|
syntax_pattern html_tag html_tag_attribs text ''
|
||||||
|
syntax_pattern html_tag_attribs normal php_html_tag '/?>'
|
||||||
|
syntax_pattern html_tag_attribs html_tag_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern html_tag_attribs html_tag_attribs php_html_punctuation '='
|
||||||
|
syntax_pattern html_tag_attribs html_tag_attribs php_html_attribute '[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern html_tag_attribs html_tag_string php_html_string '"'
|
||||||
|
syntax_pattern html_tag_string php_html_tag_string php_tag '<\?(php)?=?' ignorecase
|
||||||
|
syntax_pattern php_html_tag_string html_tag_string php_tag '\?>'
|
||||||
|
syntax_pattern php_html_tag_string php_html_tag_string php_tag '.[^\?]*'
|
||||||
|
syntax_pattern html_tag_string html_tag_attribs php_html_string '"'
|
||||||
|
syntax_pattern html_tag_string html_tag_string php_html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern html_tag_string html_tag_string php_html_string '.[^\&"<]*'
|
||||||
|
|
||||||
|
syntax_pattern html_tag_attribs html_tag_singlestring php_html_string "'"
|
||||||
|
syntax_pattern html_tag_singlestring php_html_tag_singlestring php_tag '<\?(php)?=?' ignorecase
|
||||||
|
syntax_pattern php_html_tag_singlestring html_tag_singlestring php_tag '\?>'
|
||||||
|
syntax_pattern php_html_tag_singlestring php_html_tag_singlestring php_tag '.[^\?]*'
|
||||||
|
syntax_pattern html_tag_singlestring html_tag_attribs php_html_string "'"
|
||||||
|
syntax_pattern html_tag_singlestring html_tag_singlestring php_html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern html_tag_singlestring html_tag_singlestring php_html_string ".[^\\&'<]*"
|
||||||
|
|
||||||
|
# text/parsing optimisation
|
||||||
|
syntax_pattern normal normal php_html_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern normal normal text '.[^\&<]*'
|
|
@ -0,0 +1,76 @@
|
||||||
|
# Python syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2011 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Python normal text
|
||||||
|
syntax_files Python '^(.*\.pyw?|Sconscript|(S[Cc]|sc)onstruct)$'
|
||||||
|
syntax_magic Python '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?python[0-9\.]*([ \t].*)?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour python_comment 0.2 0.4 0.64
|
||||||
|
colour python_fixme 1.0 0.5 0.0
|
||||||
|
colour python_keyword 0.77 0.63 0.0
|
||||||
|
colour python_type 0.3 0.6 0.02
|
||||||
|
colour python_import 0.46 0.31 0.48
|
||||||
|
colour python_literal 1.0 0.2 0.8
|
||||||
|
colour python_string 0.8 0.0 0.0
|
||||||
|
colour python_escapedchar 0.46 0.31 0.48
|
||||||
|
colour python_function 0.02 0.6 0.6
|
||||||
|
colour python_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment python_comment '#'
|
||||||
|
syntax_pattern comment normal python_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment python_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment python_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# """-style strings
|
||||||
|
syntax_pattern normal triple_string python_string '[bu]?r?"""' ignorecase
|
||||||
|
syntax_pattern triple_string normal python_string '"""'
|
||||||
|
syntax_pattern triple_string triple_string python_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|N\{[^\}]*\}|.))+'
|
||||||
|
syntax_pattern triple_string triple_string python_string '[^\\"]+'
|
||||||
|
syntax_pattern triple_string triple_string python_string '.'
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern normal double_string python_string '[bu]?r?"' ignorecase
|
||||||
|
syntax_pattern double_string normal python_string '"'
|
||||||
|
syntax_pattern double_string double_string python_string '[^\\"]+'
|
||||||
|
syntax_pattern double_string double_string python_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|N\{[^\}]*\}|.))+'
|
||||||
|
|
||||||
|
# '''-style strings
|
||||||
|
syntax_pattern normal triple2_string python_string "[bu]?r?'''" ignorecase
|
||||||
|
syntax_pattern triple2_string normal python_string "'''"
|
||||||
|
syntax_pattern triple2_string triple2_string python_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|N\{[^\}]*\}|.))+'
|
||||||
|
syntax_pattern triple2_string triple2_string python_string "[^\\\\']+"
|
||||||
|
syntax_pattern triple2_string triple2_string python_string '.'
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern normal single_string python_string "[bu]?r?'" ignorecase
|
||||||
|
syntax_pattern single_string normal python_string "'"
|
||||||
|
syntax_pattern single_string single_string python_string "[^\\\\']+"
|
||||||
|
syntax_pattern single_string single_string python_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|N\{[^\}]*\}|.))+'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal python_literal '(([0-9]+\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|[0-9]+e[\+\-]?[0-9]+|0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)' ignorecase
|
||||||
|
syntax_pattern normal normal python_literal '\b(None|True|False)\b'
|
||||||
|
|
||||||
|
# types
|
||||||
|
syntax_pattern normal normal python_type '\b(bool|buffer|builtin_function_or_method|bytes|bytearray|classobj|code|complex|dict|dictproxy|ellipsis|file|float|frame|frozenset|function|generator|instance|instancemethod|int|list|long|module|object|range|slice|str|traceback|tuple|type|unicode|xrange|NoneType|NotImplementedType)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal python_keyword '\b(and|as|assert|break|continue|del|elif|else|except|exec|finally|for|global|if|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b'
|
||||||
|
|
||||||
|
# special kewords
|
||||||
|
syntax_pattern normal normal python_import '\b(from|import)\b'
|
||||||
|
|
||||||
|
# function/class definitions
|
||||||
|
syntax_pattern normal declaration python_keyword '\b(class|def)\b'
|
||||||
|
syntax_pattern declaration declaration text '[ \t]+'
|
||||||
|
syntax_pattern declaration normal python_function '\b[a-z_][a-z_0-9]*\b' ignorecase
|
||||||
|
syntax_pattern declaration normal text ''
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal python_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\/]+'
|
||||||
|
syntax_pattern normal normal python_punctuation '\.'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,45 @@
|
||||||
|
# R syntax file for Diffuse
|
||||||
|
# Copyright (C) 2011 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax R normal text
|
||||||
|
syntax_files R '\.R$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour r_comment 0.2 0.4 0.64
|
||||||
|
colour r_fixme 1.0 0.5 0.0
|
||||||
|
colour r_keyword 0.77 0.63 0.0
|
||||||
|
colour r_literal 1.0 0.2 0.8
|
||||||
|
colour r_string 0.8 0.0 0.0
|
||||||
|
colour r_escapedchar 0.46 0.31 0.48
|
||||||
|
colour r_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment r_comment '#'
|
||||||
|
syntax_pattern comment normal r_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment r_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment r_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern normal double_string r_string '"'
|
||||||
|
syntax_pattern double_string normal r_string '"'
|
||||||
|
syntax_pattern double_string double_string r_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.))+'
|
||||||
|
syntax_pattern double_string double_string r_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern normal single_string r_string "'"
|
||||||
|
syntax_pattern single_string normal r_string "'"
|
||||||
|
syntax_pattern single_string single_string r_escapedchar '(\\([0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.))+'
|
||||||
|
syntax_pattern single_string single_string r_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal c++_literal '((([0-9]+\.[0-9]*|\.[0-9]+)([eE][\+\-]?[0-9]+)?|[0-9]+[eE][\+\-]?[0-9]+)|([1-9][0-9]*|0x[0-9a-fA-F]+|0[0-7]*|[1-9][0-9]*|0))[iL]?'
|
||||||
|
syntax_pattern normal normal r_literal '\b(FALSE|Inf|NA(_(character|complex|integer|real)_)?|NaN|NULL|TRUE)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal r_keyword '\b(break|else|for|function|if|in|next|repeat|while)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal r_punctuation '(%[^%]*%|[@\^~\<=\>\|\-:!/\(\)\[\]\{\}\$\*\&\+])+'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9\.]*' ignorecase
|
|
@ -0,0 +1,102 @@
|
||||||
|
# Ruby syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Ruby normal text
|
||||||
|
syntax_files Ruby '\.rb$'
|
||||||
|
syntax_magic Ruby '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?ruby[0-9\.]*([ \t].*)?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour ruby_comment 0.2 0.4 0.64
|
||||||
|
colour ruby_fixme 1.0 0.5 0.0
|
||||||
|
colour ruby_keyword 0.77 0.63 0.0
|
||||||
|
colour ruby_import 0.46 0.31 0.48
|
||||||
|
colour ruby_literal 1.0 0.2 0.8
|
||||||
|
colour ruby_string 0.8 0.0 0.0
|
||||||
|
colour ruby_escapedchar 0.46 0.31 0.48
|
||||||
|
colour ruby_function 0.02 0.6 0.6
|
||||||
|
colour ruby_constant 0.3 0.6 0.02
|
||||||
|
colour ruby_punctuation 0.5 0.5 0.5
|
||||||
|
colour ruby_symbol 0.3 0.6 0.02
|
||||||
|
colour ruby_variable 0.02 0.6 0.6
|
||||||
|
colour ruby_regexsep 0.77 0.63 0.0
|
||||||
|
colour ruby_regex 0.8 0.0 0.0
|
||||||
|
colour ruby_optionalsep 0.77 0.63 0.0
|
||||||
|
colour ruby_optional 0.8 0.0 0.0
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern expr expr text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment ruby_comment '#'
|
||||||
|
syntax_pattern comment normal ruby_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment ruby_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment ruby_comment '.[^TFX\r\n]*'
|
||||||
|
syntax_pattern normal doc ruby_comment '^=begin\b'
|
||||||
|
syntax_pattern doc normal ruby_comment '^=end\b'
|
||||||
|
syntax_pattern doc doc ruby_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern doc doc ruby_comment '.[^TFX]*'
|
||||||
|
|
||||||
|
# "-style strings
|
||||||
|
syntax_pattern normal double_string ruby_string '"'
|
||||||
|
syntax_pattern double_string expr ruby_string '"'
|
||||||
|
syntax_pattern double_string double_string ruby_escapedchar '\\([0-7]{1,3}|x[0-9a-fA-F]{1,2}|C-.|M-(\\C-)?.|c?.)'
|
||||||
|
syntax_pattern double_string double_string ruby_escapedchar '#\{[^\}"]*\}'
|
||||||
|
syntax_pattern double_string double_string ruby_string '.[^\\"#]*'
|
||||||
|
|
||||||
|
# '-style strings
|
||||||
|
syntax_pattern normal single_string ruby_string "'"
|
||||||
|
syntax_pattern single_string expr ruby_string "'"
|
||||||
|
syntax_pattern single_string single_string ruby_escapedchar "\\\\[\\\\']"
|
||||||
|
syntax_pattern single_string single_string ruby_string ".[^\\\\']*"
|
||||||
|
|
||||||
|
# `-style strings
|
||||||
|
syntax_pattern normal backquote ruby_string '`'
|
||||||
|
syntax_pattern backquote expr ruby_string '`'
|
||||||
|
syntax_pattern backquote backquote ruby_escapedchar '\\([0-7]{1,3}|x[0-9a-fA-F]{1,2}|C-.|M-(\\C-)?.|c?.)'
|
||||||
|
syntax_pattern backquote backquote ruby_string '.[^\\`]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal expr ruby_literal '(((0|[1-9][0-9])*\.[0-9]*|\.[0-9]+)(e[\+\-]?[0-9]+)?|(0|[1-9][0-9]*)e[\+\-]?[0-9]+|0x[0-9a-f]+|0[0-7]*|[1-9][0-9]*)' ignorecase
|
||||||
|
syntax_pattern normal expr ruby_literal '\b(false|FALSE|nil|NIL|true|TRUE|__FILE__|__LINE__)\b'
|
||||||
|
syntax_pattern normal expr ruby_literal '\\?(\\C-|\\M-(\\C-)?)?[^ \t\r\n]'
|
||||||
|
|
||||||
|
# variables
|
||||||
|
syntax_pattern normal expr ruby_variable "(@@?[a-z_][a-z_0-9]*|\\$([a-z_][a-z_0-9]*|-[a-z]|[!@&`+1~=/\\\\,;\\.<>0\\*\\$\\?:\"']))\b" ignorecase
|
||||||
|
|
||||||
|
# symbol
|
||||||
|
syntax_pattern normal expr ruby_symbol ":[a-z_][a-z_0-9]*\b" ignorecase
|
||||||
|
|
||||||
|
# import
|
||||||
|
syntax_pattern normal normal ruby_import '\b(require)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal ruby_keyword '\b(alias|and|BEGIN|begin|break|case|defined|do|else|elsif|END|end|ensure|for|if|in|module|next|not|or|redo|rescue|retry|return|then|undef|unless|until|when|while|yield)\b'
|
||||||
|
syntax_pattern normal expr ruby_keyword '\b(self|super)\b'
|
||||||
|
|
||||||
|
# function/class definitions
|
||||||
|
syntax_pattern normal declaration ruby_keyword '\b(class|def)\b'
|
||||||
|
syntax_pattern declaration declaration text '[ \t]+'
|
||||||
|
syntax_pattern declaration normal ruby_function '\b[a-z_][a-z_0-9]*\b' ignorecase
|
||||||
|
syntax_pattern declaration normal text ''
|
||||||
|
|
||||||
|
# expressions
|
||||||
|
syntax_pattern normal expression ruby_regexsep '/'
|
||||||
|
syntax_pattern expression expr ruby_regexsep '/[iomxneus]*'
|
||||||
|
syntax_pattern expression expression ruby_escapedchar '\\.'
|
||||||
|
syntax_pattern expression expression ruby_regex '.[^\\/]*'
|
||||||
|
|
||||||
|
# optional
|
||||||
|
syntax_pattern normal optional ruby_optionalsep '\|'
|
||||||
|
syntax_pattern optional normal ruby_optionalsep '\|'
|
||||||
|
syntax_pattern optional optional ruby_optional '.[^\|]*'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal ruby_punctuation '[\[\{\}<>;=\(,~!&\^%\?\+\-\*\.]+'
|
||||||
|
syntax_pattern normal normal ruby_punctuation '(\.|:+)'
|
||||||
|
syntax_pattern normal expr ruby_punctuation '[\)\]]+'
|
||||||
|
syntax_pattern expr normal ruby_punctuation '[/\|]+'
|
||||||
|
|
||||||
|
# constants
|
||||||
|
syntax_pattern normal expr ruby_constant '\b[A-Z_][a-zA-Z_0-9]*\b[\?!]?'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal expr text '[a-z_][a-z_0-9]*[\?!]?' ignorecase
|
||||||
|
syntax_pattern expr normal ruby_regex ''
|
|
@ -0,0 +1,119 @@
|
||||||
|
# Rust syntax file for Diffuse
|
||||||
|
# Copyright (C) 2022 Alexander Lopatin (@alopatindev), Romain Failliot <romain@foolstep.com>
|
||||||
|
|
||||||
|
# DISCLAIMER: this is a raw support for Rust language, help wanted.
|
||||||
|
|
||||||
|
syntax Rust normal text
|
||||||
|
syntax_files Rust '\.rs$'
|
||||||
|
|
||||||
|
# Colours
|
||||||
|
colour rust_comment 0.2 0.4 0.64
|
||||||
|
colour rust_fixme 1.0 0.5 0.0
|
||||||
|
colour rust_import 0.77 0.63 0.0
|
||||||
|
colour rust_keyword 0.77 0.63 0.0
|
||||||
|
colour rust_type 0.3 0.6 0.02
|
||||||
|
colour rust_literal 1.0 0.2 0.8
|
||||||
|
colour rust_char 0.8 0.0 0.0
|
||||||
|
colour rust_string 0.8 0.0 0.0
|
||||||
|
colour rust_escapedchar 0.46 0.31 0.48
|
||||||
|
colour rust_string_multilinechar 0.46 0.31 0.48
|
||||||
|
colour rust_punctuation 0.5 0.5 0.5
|
||||||
|
colour rust_macro 0.01 0.6 0.9
|
||||||
|
|
||||||
|
# Whitespace (TODO)
|
||||||
|
# Doc: https://doc.rust-lang.org/reference/whitespace.html
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# Macro (TODO)
|
||||||
|
#syntax_pattern normal macro rust_macro '[a-z_]+[a-z0-9_]*!' ignorecase
|
||||||
|
|
||||||
|
# Line comment
|
||||||
|
# Doc: https://doc.rust-lang.org/reference/comments.html
|
||||||
|
syntax_pattern normal line_comment rust_comment '//'
|
||||||
|
syntax_pattern line_comment normal rust_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern line_comment line_comment rust_comment '\\(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern line_comment line_comment rust_fixme '\b(TODO|FIXME|XXX|NOTE)\b'
|
||||||
|
syntax_pattern line_comment line_comment rust_comment '.[^\\TFX\r\n]*'
|
||||||
|
|
||||||
|
# Block comment
|
||||||
|
syntax_pattern normal block_comment rust_comment '/\*'
|
||||||
|
syntax_pattern block_comment normal rust_comment '\*/'
|
||||||
|
syntax_pattern block_comment block_comment rust_fixme '\b(TODO|FIXME|XXX|NOTE)\b'
|
||||||
|
syntax_pattern block_comment block_comment rust_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# Keywords (TODO)
|
||||||
|
# Doc: https://doc.rust-lang.org/reference/keywords.html#weak-keywords
|
||||||
|
#syntax_pattern normal normal rust_string '\b\'[a-z_]+[a-z0-9_]*\b' ignorecase
|
||||||
|
#syntax_pattern normal normal rust_string '\b\'[a-z_]+\b' ignorecase
|
||||||
|
syntax_pattern normal normal rust_string "\b'[a-z_]+\b" ignorecase
|
||||||
|
|
||||||
|
# Char
|
||||||
|
syntax_pattern normal normal rust_char "'.'"
|
||||||
|
syntax_pattern normal char rust_char "'(?=\\\\)"
|
||||||
|
syntax_pattern char normal rust_char "'"
|
||||||
|
syntax_pattern char char rust_escapedchar "\\\\([0-7]{1,3}|x[0-9a-f]{1,2}|u\{[0-9a-f]{1,6}\}|.)"
|
||||||
|
|
||||||
|
# String
|
||||||
|
# Doc: https://doc.rust-lang.org/reference/tokens.html#string-literals
|
||||||
|
syntax_pattern normal string rust_string '"'
|
||||||
|
syntax_pattern string normal rust_string '"'
|
||||||
|
syntax_pattern string string rust_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|u\{[0-9a-f]{1,6}\}|.))+' ignorecase
|
||||||
|
syntax_pattern string string rust_string_multilinechar '\\$'
|
||||||
|
syntax_pattern string string rust_string '[^\\"]+'
|
||||||
|
|
||||||
|
# Raw quote-string, level 0
|
||||||
|
# Doc: https://doc.rust-lang.org/reference/tokens.html#raw-string-literals
|
||||||
|
syntax_pattern normal raw_string_0 rust_string 'r"'
|
||||||
|
syntax_pattern raw_string_0 normal rust_string '"'
|
||||||
|
syntax_pattern raw_string_0 raw_string_0 rust_string '[^"$]+'
|
||||||
|
|
||||||
|
# Raw sharp-string, level 1
|
||||||
|
syntax_pattern normal raw_string_1 rust_string 'r#"'
|
||||||
|
syntax_pattern raw_string_1 normal rust_string '"#'
|
||||||
|
syntax_pattern raw_string_1 raw_string_1 rust_string '.*?((?="#)|\r?\n)'
|
||||||
|
|
||||||
|
# Raw sharp-string, level 2
|
||||||
|
syntax_pattern normal raw_string_2 rust_string 'r##"'
|
||||||
|
syntax_pattern raw_string_2 normal rust_string '"##'
|
||||||
|
syntax_pattern raw_string_2 raw_string_2 rust_string '.*?((?="##)|\r?\n)'
|
||||||
|
|
||||||
|
# Raw sharp-string, level 3
|
||||||
|
syntax_pattern normal raw_string_3 rust_string 'r###"'
|
||||||
|
syntax_pattern raw_string_3 normal rust_string '"###'
|
||||||
|
syntax_pattern raw_string_3 raw_string_3 rust_string '.*?((?="###)|\r?\n)'
|
||||||
|
|
||||||
|
# Raw sharp-string, level 4
|
||||||
|
syntax_pattern normal raw_string_4 rust_string 'r####"'
|
||||||
|
syntax_pattern raw_string_4 normal rust_string '"####'
|
||||||
|
syntax_pattern raw_string_4 raw_string_4 rust_string '.*?((?="####)|\r?\n)'
|
||||||
|
|
||||||
|
# Raw sharp-string, level 5
|
||||||
|
# Limit is 256 '#', but 5 seems reasonable for now
|
||||||
|
syntax_pattern normal raw_string_5 rust_string 'r#####"'
|
||||||
|
syntax_pattern raw_string_5 normal rust_string '"#####'
|
||||||
|
syntax_pattern raw_string_5 raw_string_5 rust_string '.*?((?="#####)|\r?\n)'
|
||||||
|
|
||||||
|
# Suffixes (TODO)
|
||||||
|
# Doc: https://doc.rust-lang.org/reference/tokens.html#suffixes
|
||||||
|
syntax_pattern normal normal rust_literal '\b[0-9_]+(isize|usize|char|bool|u8|u16|u32|u64|u128|f32|f64|i8|i16|i32|i64|i128|)\b'
|
||||||
|
syntax_pattern normal normal rust_literal '\b0b[01_]+(isize|usize|char|bool|u8|u16|u32|u64|u128|f32|f64|i8|i16|i32|i64|i128|)\b'
|
||||||
|
syntax_pattern normal normal rust_literal '\b0o[0-7_]+(isize|usize|char|bool|u8|u16|u32|u64|u128|f32|f64|i8|i16|i32|i64|i128|)\b'
|
||||||
|
syntax_pattern normal normal rust_literal '\b0x[0-9a-f_]+(isize|usize|char|bool|u8|u16|u32|u64|u128|f32|f64|i8|i16|i32|i64|i128|)\b'
|
||||||
|
syntax_pattern normal normal rust_literal '\b[0-9_]+E\+[0-9_]+(f32|f64)\b'
|
||||||
|
syntax_pattern normal normal rust_literal '\b(true|false)\b'
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal rust_import '\b(use|mod)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal rust_type '\b(isize|usize|char|bool|u8|u16|u32|u64|u128|f32|f64|i8|i16|i32|i64|i128|str|Self)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal rust_keyword '\b(as|break|const|continue|crate|else|enum|extern|false|fn|for|if|impl|in|let|loop|match|move|mut|pub|ref|return|self|Self|static|struct|super|trait|true|type|unsafe|where|while|async|await|dyn|abstract|become|box|do|final|macro|override|priv|typeof|unsized|virtual|yield|try|union)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal rust_punctuation '[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\?$]+'
|
||||||
|
syntax_pattern normal normal rust_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimization
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,67 @@
|
||||||
|
# SQL syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax SQL normal text
|
||||||
|
syntax_files SQL '\.sql$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour sql_comment 0.2 0.4 0.64
|
||||||
|
colour sql_fixme 1.0 0.5 0.0
|
||||||
|
colour sql_keyword 0.77 0.63 0.0
|
||||||
|
colour sql_type 0.3 0.6 0.02
|
||||||
|
colour sql_literal 1.0 0.2 0.8
|
||||||
|
colour sql_string 0.8 0.0 0.0
|
||||||
|
colour sql_escapedchar 0.46 0.31 0.48
|
||||||
|
colour sql_punctuation 0.5 0.5 0.5
|
||||||
|
colour sql_identifier 0.46 0.31 0.48
|
||||||
|
colour sql_variable 0.02 0.6 0.6
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# regular comments
|
||||||
|
syntax_pattern normal cpp_comment sql_comment '(#|--)'
|
||||||
|
syntax_pattern cpp_comment cpp_comment sql_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment normal sql_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment sql_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment sql_comment '/\*'
|
||||||
|
syntax_pattern comment normal sql_comment '\*/'
|
||||||
|
syntax_pattern comment comment sql_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment sql_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal char sql_string "(_latin1|_utf8|N|n)?'"
|
||||||
|
syntax_pattern char char sql_escapedchar "(\\\\[0'\"bnrtZ\\\\%_]|'')+"
|
||||||
|
syntax_pattern char char sql_string "[^\\\\']+"
|
||||||
|
syntax_pattern char normal sql_string "'"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string sql_string '(_latin1|_utf8|N|n)?"'
|
||||||
|
syntax_pattern string string sql_escapedchar "(\\\\[0'\"bnrtZ\\\\%_]|\"\")+"
|
||||||
|
syntax_pattern string string sql_string '[^\\"]+'
|
||||||
|
syntax_pattern string normal sql_string '"'
|
||||||
|
|
||||||
|
# identifier
|
||||||
|
syntax_pattern normal normal sql_identifier '`[^`]+`'
|
||||||
|
|
||||||
|
# variables
|
||||||
|
syntax_pattern normal normal sql_variable '@[a-z0-9\._\$]+' ignorecase
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal sql_literal "([0-9]*\.[0-9]+(e[\+\-]?[0-9]+)?|0x[0-9a-f]+|[0-9]+|x'[0-9a-f]+'|b'[01]+')" ignorecase
|
||||||
|
syntax_pattern normal normal sql_literal '\b(true|false|null)\b' ignorecase
|
||||||
|
syntax_pattern normal normal sql_literal '\\N\b'
|
||||||
|
|
||||||
|
# types
|
||||||
|
syntax_pattern normal normal sql_type '\b(ascii|bigint|binary|bit|blob|bool|boolean|byte|char|character|collate|date|datetime|dec|decimal|double|enum|fixed|float[48]?|int[12348]?|integer|long|longblob|longtext|mediumblob|mediumint|mediumtext|middleint|numeric|precision|real|serial|signed|smallint|text|time|timestamp|tinyblob|tinyint|tinytext|unicode|varbinary|varchar|varcharacter|year)\b' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal sql_keyword '\b(accessible|add|all|alter|analyze|and|as|asc|asensitive|auto_increment|before|between|both|by|call|cascade|case|change|charset|check|column|condition|constraint|continue|convert|create|cross|current_date|current_time|current_timestamp|current_user|cursor|database|databases|day_hour|day_microsecond|day_minute|day_second|declare|default|delayed|delete|desc|describe|deterministic|distinct|distinctrow|div|drop|dual|each|else|elseif|enclosed|engine|escaped|exists|exit|explain|fetch|for|force|foreign|from|fulltext|grant|group|having|high_priority|hour_microsecond|hour_minute|hour_second|if|ignore|in|index|infile|inner|inout|insensitive|insert|interval|into|is|iterate|join|key|keys|kill|leading|leave|left|like|limit|linear|lines|load|localtime|localtimestamp|lock|loop|low_priority|master_ssl_verify_server_cert|match|minute_microsecond|minute_second|mod|modifies|natural|no_write_to_binlog|not|on|optimize|option|optionally|or|order|out|outer|outfile|primary|procedure|purge|range|read|read_only|read_write|reads|real|references|regexp|release|rename|repeat|replace|require|restrict|return|revoke|right|rlike|schema|schemas|second_microsecond|select|sensitive|separator|set|show|spatial|specific|sql|sql_big_result|sql_calc_found_rows|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|starting|straight_join|table|terminated|then|to|trailing|trigger|undo|union|unique|unlock|unsigned|update|usage|use|using|utc_date|utc_time|utc_timestamp|values|varying|when|where|while|with|write|xor|year_month|zerofill)\b' ignorecase
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal sql_punctuation '[=<>!\|\+\-\*\.,;\(\)]+'
|
||||||
|
syntax_pattern normal normal sql_punctuation '/'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,59 @@
|
||||||
|
# Tcl syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Tcl normal text
|
||||||
|
syntax_files Tcl '\.tcl$'
|
||||||
|
syntax_magic Tcl '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?(tclsh|wish)[0-9\.]*([ \t].*)?$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour tcl_comment 0.2 0.4 0.64
|
||||||
|
colour tcl_fixme 1.0 0.5 0.0
|
||||||
|
colour tcl_literal 1.0 0.2 0.8
|
||||||
|
colour tcl_string 0.8 0.0 0.0
|
||||||
|
colour tcl_escapedchar 0.46 0.31 0.48
|
||||||
|
colour tcl_variable 0.02 0.6 0.6
|
||||||
|
colour tcl_keyword 0.77 0.63 0.0
|
||||||
|
colour tcl_punctuation 0.5 0.5 0.5
|
||||||
|
colour tcl_function 0.02 0.6 0.6
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r]+'
|
||||||
|
syntax_pattern expr expr text '[ \t\r]+'
|
||||||
|
syntax_pattern normal comment tcl_comment '#'
|
||||||
|
syntax_pattern comment normal tcl_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment tcl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment tcl_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# strings
|
||||||
|
syntax_pattern expr string tcl_string '"'
|
||||||
|
syntax_pattern string expr tcl_string '"'
|
||||||
|
syntax_pattern string string tcl_variable '\$(([a-z_0-9]|::)+|\{([a-z_0-9]|::)+\})' ignorecase
|
||||||
|
syntax_pattern string string tcl_escapedchar '\\([0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{1,4}|.)'
|
||||||
|
syntax_pattern string string tcl_string '.[^\\"\$]*'
|
||||||
|
|
||||||
|
# escaped characters outside of strings
|
||||||
|
syntax_pattern expr expr tcl_escapedchar '\\([0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{1,4}|\r?\n|.)'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern expr expr python_literal '(0b[01]+|0o[0-7]+|0x[0-9a-f]+|([0-9]+(\.[0-9]*)?|\.[0-9]+)(e[\+\-]?[0-9]+)?)' ignorecase
|
||||||
|
syntax_pattern expr expr python_literal '\b(Inf|NaN)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal expr tcl_keyword '\b(after|append|array|bgerror|binary|break|case|catch|cd|chan|clock|close|concat|continue|dict|encoding|eof|error|eval|exec|exit|fblocked|fconfigure|fcopy|file|fileevent|flush|for|foreach|format|gets|glob|global|history|if|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|memory|namespace|open|package|pid|pkg_mkIndex|puts|pwd|read|regexp|regsub|rename|return|scan|seek|set|socket|source|split|string|subst|switch|tell|time|trace|unknown|unload|unset|update|uplevel|upvar|variable|vwait|while)\b'
|
||||||
|
|
||||||
|
# function/class definitions
|
||||||
|
syntax_pattern normal declaration tcl_keyword '\b(proc)\b'
|
||||||
|
syntax_pattern declaration declaration text '[ \t]+'
|
||||||
|
syntax_pattern declaration expr tcl_function '([a-z_0-9]|::)+' ignorecase
|
||||||
|
syntax_pattern declaration expr text ''
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern expr normal tcl_punctuation '[;\{\[]+'
|
||||||
|
syntax_pattern expr normal text '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern expr expr tcl_punctuation '[\^\}\]\-\+~!\*/%<>=&\|\?\:\(\)]+'
|
||||||
|
|
||||||
|
# environment variables
|
||||||
|
syntax_pattern expr expr tcl_variable '\$(([a-z_0-9]|::)+|\{([a-z_0-9]|::)+\})' ignorecase
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern expr expr text '[a-z_0-9]+' ignorecase
|
||||||
|
syntax_pattern normal expr text ''
|
|
@ -0,0 +1,57 @@
|
||||||
|
# VB.NET syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax VB.NET normal text
|
||||||
|
syntax_files VB.NET '\.vb$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour vb_comment 0.2 0.4 0.64
|
||||||
|
colour vb_fixme 1.0 0.5 0.0
|
||||||
|
colour vb_import 0.46 0.31 0.48
|
||||||
|
colour vb_keyword 0.77 0.63 0.0
|
||||||
|
colour vb_type 0.3 0.6 0.02
|
||||||
|
colour vb_literal 1.0 0.2 0.8
|
||||||
|
colour vb_string 0.8 0.0 0.0
|
||||||
|
colour vb_escapedchar 0.46 0.31 0.48
|
||||||
|
colour vb_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern normal comment vb_comment "'"
|
||||||
|
syntax_pattern normal comment vb_comment '\brem\b' ignorecase
|
||||||
|
syntax_pattern comment normal vb_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment vb_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment vb_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# date
|
||||||
|
syntax_pattern normal date vb_string '#'
|
||||||
|
syntax_pattern date normal vb_string '#'
|
||||||
|
syntax_pattern date date vb_string ".[^#]*"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string vb_string '"'
|
||||||
|
syntax_pattern string string vb_escapedchar '""'
|
||||||
|
syntax_pattern string normal vb_string '"c?' ignorecase
|
||||||
|
syntax_pattern string string vb_string '.[^"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal vb_literal '\b([0-9]*\.[0-9]+(e[+-]?[0-9]+)?[frd]?|[0-9]+[frdsil]?|True|False|Nothing)\b' ignorecase
|
||||||
|
syntax_pattern normal normal vb_literal '&(o[0-7]+|h[0-9a-f]+)[sil]?\b' ignorecase
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal vb_import '\b(Imports|Option)\b'
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal vb_type '\b(Boolean|Byte|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|CLng|CObj|CShort|CSng|CStr|Date|Decimal|Double|Integer|Long|Object|Short|Single|String|Variant)\b' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal vb_keyword '\b(AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|ByRef|ByVal|Call|Case|Catch|Class|Const|CType|Declare|Default|Delegate|Dim|DirectCast|Do|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get|GetType|GoSub|GoTo|Handles|If|Implements|In|Inherits|Interface|Is|Let|Lib|Like|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|New|Next|Not|NotInheritable|NotOverridable|On|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Static|Step|Stop|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Wend|When|While|With|WithEvents|WriteOnly|Xor)\b' ignorecase
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal vb_punctuation '[\(\)\{\}!,\.:]+'
|
||||||
|
#'[!~%\|\&\^\(\)\<\>\*\-\+=\{\}\[\]:;,\.\?]+'
|
||||||
|
#syntax_pattern normal normal vb_punctuation '/'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal text '[a-z][a-z_0-9]*' ignorecase
|
|
@ -0,0 +1,66 @@
|
||||||
|
# Verilog syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax Verilog normal text
|
||||||
|
syntax_files Verilog '\.v$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour verilog_comment 0.2 0.4 0.64
|
||||||
|
colour verilog_fixme 1.0 0.5 0.0
|
||||||
|
colour verilog_keyword 0.77 0.63 0.0
|
||||||
|
colour verilog_type 0.3 0.6 0.02
|
||||||
|
colour verilog_cpp 0.8 0.0 0.0
|
||||||
|
colour verilog_cppkeyword 0.46 0.31 0.48
|
||||||
|
colour verilog_literal 1.0 0.2 0.8
|
||||||
|
colour verilog_string 0.8 0.0 0.0
|
||||||
|
colour verilog_escapedchar 0.46 0.31 0.48
|
||||||
|
colour verilog_variable 0.02 0.6 0.6
|
||||||
|
colour verilog_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# directives
|
||||||
|
syntax_pattern normal cpp verilog_cppkeyword '`[0-9a-z_]+'
|
||||||
|
syntax_pattern cpp normal verilog_cppkeyword '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# C++ style comments
|
||||||
|
syntax_pattern normal cpp_comment verilog_comment '//'
|
||||||
|
syntax_pattern cpp cpp_comment verilog_comment '//'
|
||||||
|
syntax_pattern cpp_comment normal verilog_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern cpp_comment cpp_comment verilog_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern cpp_comment cpp_comment verilog_comment '.[^TFX\r\n]*'
|
||||||
|
|
||||||
|
# C style comments
|
||||||
|
syntax_pattern normal comment verilog_comment '/\*'
|
||||||
|
syntax_pattern comment normal verilog_comment '\*/'
|
||||||
|
syntax_pattern comment comment verilog_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment verilog_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
syntax_pattern cpp comment_cpp verilog_comment '/\*'
|
||||||
|
syntax_pattern comment_cpp cpp verilog_comment '\*/'
|
||||||
|
syntax_pattern comment_cpp comment_cpp verilog_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment_cpp comment_cpp verilog_comment '.[^\*TFX]*'
|
||||||
|
|
||||||
|
# preprocessor args
|
||||||
|
syntax_pattern cpp cpp verilog_cpp '.[^/\r\n]*'
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string verilog_string '"'
|
||||||
|
syntax_pattern string normal verilog_string '"'
|
||||||
|
syntax_pattern string string verilog_escapedchar '(\\([0-7]{1,3}|x[0-9a-f]{1,2}|.))+' ignorecase
|
||||||
|
syntax_pattern string string verilog_string '.[^\\"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal verilog_literal "(([0-9]+\\.[0-9]*|\\.[0-9]+)(e[\\+\\-]?[0-9]+)?|[0-9]+e[\\+\\-]?[0-9]+|[0-9]+('(b[01xz_]+|o[0-7xz_]+|d[0-9xz_]+|h[0-9a-fxz_]))?)" ignorecase
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal verilog_type '\b(defparam|inout|input|integer|output|parameter|real|reg|supply[01]|time|tri(and|or|reg|0|1|)|wand|wire|wor)\b'
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal verilog_keyword '\b(always|and|assign|attribute|begin|buf|bufif0|bufif1|case|casex|casez|cmos|deassign|default|disable|edge|else|end|endattribute|endcase|endfunction|endmodule|endprimitive|endspecify|endtable|endtask|event|for|force|forever|fork|function|highz0|highz1|if|ifnone|initial|join|medium|module|large|macromodule|nand|negedge|nmos|nor|not|notif0|notif1|or|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|rcmos|realtime|release|repeat|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|signed|small|specify|specparam|strength|strong0|strong1|table|task|tran|tranif0|tranif1|unsigned|vectored|wait|weak0|weak1|while|xnor|xor)\b'
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal verilog_punctuation '[\[\]\(\)!~&\|\^\+\-\{\}\*%<=>\?:,;@#]+'
|
||||||
|
syntax_pattern normal normal verilog_punctuation '[/\.]'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal normal verilog_variable '\$[a-z_0-9\$]*' ignorecase
|
||||||
|
syntax_pattern normal normal text '[a-z_][a-z_0-9\$]*' ignorecase
|
|
@ -0,0 +1,56 @@
|
||||||
|
# VHDL syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax VHDL normal text
|
||||||
|
syntax_files VHDL '\.vhdl$'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour vhdl_comment 0.2 0.4 0.64
|
||||||
|
colour vhdl_fixme 1.0 0.5 0.0
|
||||||
|
colour vhdl_import 0.46 0.31 0.48
|
||||||
|
colour vhdl_keyword 0.77 0.63 0.0
|
||||||
|
colour vhdl_type 0.3 0.6 0.02
|
||||||
|
colour vhdl_literal 1.0 0.2 0.8
|
||||||
|
colour vhdl_string 0.8 0.0 0.0
|
||||||
|
colour vhdl_escapedchar 0.46 0.31 0.48
|
||||||
|
colour vhdl_punctuation 0.5 0.5 0.5
|
||||||
|
|
||||||
|
# whitespace
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
|
||||||
|
# comments
|
||||||
|
syntax_pattern normal comment vhdl_comment '--'
|
||||||
|
syntax_pattern comment normal vhdl_comment '(\r\n|\r|\n)$'
|
||||||
|
syntax_pattern comment comment vhdl_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment vhdl_comment '.[^\-TFX\r\n]*'
|
||||||
|
|
||||||
|
# char
|
||||||
|
syntax_pattern normal normal vhdl_string "'.'"
|
||||||
|
|
||||||
|
# string
|
||||||
|
syntax_pattern normal string vhdl_string '"'
|
||||||
|
syntax_pattern string string vhdl_escapedchar '""'
|
||||||
|
syntax_pattern string normal vhdl_string '"'
|
||||||
|
syntax_pattern string string vhdl_string '.[^"]*'
|
||||||
|
|
||||||
|
# literals
|
||||||
|
syntax_pattern normal normal vhdl_literal '([0-9](#[0-9a-f_]*#|(\.[0-9]+)?(e[\+\-]?[0-9]+)?)|b"[01_]*"|o"[0-7_]*"|x"[0-9a-f_]*")' ignorecase
|
||||||
|
syntax_pattern normal normal vhdl_literal '\b(true|false)\b' ignorecase
|
||||||
|
|
||||||
|
# import keywords
|
||||||
|
syntax_pattern normal normal vhdl_import '\b(all|library|use)\b' ignorecase
|
||||||
|
|
||||||
|
# typing keywords
|
||||||
|
syntax_pattern normal normal vhdl_type '\b(array|bit|bit_vector|boolean|character|constant|file|file_open_kind|file_open_status|integer|natural|positive|real|severity_level|signal|string|std_u?logic(_vector)?|subtype|time|type|variable)\b' ignorecase
|
||||||
|
|
||||||
|
# keywords
|
||||||
|
syntax_pattern normal normal vhdl_keyword '\b(abs|access|after|alias|and|architecture|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|disconnect|downto|else|elsif|end|entity|exit|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|return|rol|ror|select|severity|shared|sla|sli|sra|srl|then|to|transport|unaffected|units|until|wait|when|while|with|xnor|xor)\b' ignorecase
|
||||||
|
|
||||||
|
# punctuation
|
||||||
|
syntax_pattern normal normal vhdl_punctuation '[\.,:;=/<>\+&\-\*\(\)]+'
|
||||||
|
syntax_pattern normal normal vhdl_punctuation '-'
|
||||||
|
|
||||||
|
# parsing optimisation
|
||||||
|
syntax_pattern normal identifier text '\\'
|
||||||
|
syntax_pattern identifier normal text '\\'
|
||||||
|
syntax_pattern identifier identifier text '.[^\\]*'
|
||||||
|
syntax_pattern normal normal text "[a-z_]['a-z_0-9]*" ignorecase
|
|
@ -0,0 +1,135 @@
|
||||||
|
# XML syntax file for Diffuse
|
||||||
|
# Copyright (C) 2008-2009 Derrick Moser <derrick_moser@yahoo.com>
|
||||||
|
syntax XML normal text
|
||||||
|
syntax_files XML '\.(dtd|omf|plist|svg|xhtml|xml|xsd|xsl)$'
|
||||||
|
syntax_magic XML '^[ \t]*<\?[ \t]*xml\b'
|
||||||
|
|
||||||
|
# colours
|
||||||
|
colour xml_comment 0.2 0.4 0.64
|
||||||
|
colour xml_fixme 1.0 0.5 0.0
|
||||||
|
colour xml_escapedchar 0.77 0.63 0.0
|
||||||
|
colour xml_processingtag 0.46 0.31 0.48
|
||||||
|
colour xml_processingtagname 0.3 0.6 0.02
|
||||||
|
colour xml_tag 0.02 0.6 0.6
|
||||||
|
colour xml_tagname 0.77 0.63 0.0
|
||||||
|
colour xml_punctuation 0.5 0.5 0.5
|
||||||
|
colour xml_attribute 0.3 0.6 0.02
|
||||||
|
colour xml_string 0.8 0.0 0.0
|
||||||
|
colour xml_cdatatag 0.3 0.6 0.02
|
||||||
|
colour xml_cdata 0.8 0.0 0.0
|
||||||
|
|
||||||
|
# whitespace/comments
|
||||||
|
syntax_pattern normal normal text '[ \t\r\n]+'
|
||||||
|
syntax_pattern normal comment xml_comment '<!--'
|
||||||
|
syntax_pattern comment normal xml_comment '-->'
|
||||||
|
syntax_pattern comment comment xml_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern comment comment xml_comment '.[^TFX\-]*'
|
||||||
|
|
||||||
|
# processing
|
||||||
|
syntax_pattern normal process xml_processingtag '<\?'
|
||||||
|
syntax_pattern process process text '[ \t\r\n]+'
|
||||||
|
syntax_pattern process process_attribs xml_processingtagname '\b[a-z][a-z_0-9]*([ \t]*:[ \t]*[a-z][a-z_0-9]*)?\b' ignorecase
|
||||||
|
syntax_pattern process_attribs normal xml_processingtag '\?>'
|
||||||
|
syntax_pattern process_attribs process_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern process_attribs process_attribs xml_punctuation '='
|
||||||
|
syntax_pattern process_attribs process_attribs xml_attribute '[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern process_attribs process_string xml_string '"'
|
||||||
|
syntax_pattern process_string process_attribs xml_string '"'
|
||||||
|
syntax_pattern process_string process_string xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern process_string process_string xml_string '.[^\&"]*'
|
||||||
|
|
||||||
|
syntax_pattern process_attribs process_singlestring xml_string "'"
|
||||||
|
syntax_pattern process_singlestring process_attribs xml_string "'"
|
||||||
|
syntax_pattern process_singlestring process_singlestring xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern process_singlestring process_singlestring xml_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# cdata
|
||||||
|
syntax_pattern normal cdata xml_cdatatag '<!\[CDATA\['
|
||||||
|
syntax_pattern cdata normal xml_cdatatag '\]\]>'
|
||||||
|
syntax_pattern cdata cdata xml_cdata '.[^\]]*'
|
||||||
|
|
||||||
|
# definitions
|
||||||
|
syntax_pattern normal def xml_tag '<!'
|
||||||
|
syntax_pattern def def_attribs xml_tagname '(ELEMENT|ENTITY|ATTLIST|NOTATION)\b'
|
||||||
|
syntax_pattern def doc_attribs xml_tagname 'DOCTYPE\b'
|
||||||
|
syntax_pattern def def_attribs text ''
|
||||||
|
syntax_pattern def_attribs normal xml_tag '>'
|
||||||
|
syntax_pattern def_attribs def_comment xml_comment '--'
|
||||||
|
syntax_pattern def_comment def_attribs xml_comment '--'
|
||||||
|
syntax_pattern def_comment def_comment xml_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern def_comment def_comment xml_comment '.[^TFX\-]*'
|
||||||
|
syntax_pattern def_attribs def_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern def_attribs def_attribs xml_punctuation '[=%\(\)\|,\?\*\+;\&]+'
|
||||||
|
syntax_pattern def_attribs def_attribs xml_attribute '#?[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern def_attribs def_string xml_string '"'
|
||||||
|
syntax_pattern def_string def_attribs xml_string '"'
|
||||||
|
syntax_pattern def_string def_string xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern def_string def_string xml_string '.[^\&"]*'
|
||||||
|
syntax_pattern def_attribs def_singlestring xml_string "'"
|
||||||
|
syntax_pattern def_singlestring def_attribs xml_string "'"
|
||||||
|
syntax_pattern def_singlestring def_singlestring xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern def_singlestring def_singlestring xml_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# doctype
|
||||||
|
syntax_pattern doc_attribs normal xml_tag '>'
|
||||||
|
syntax_pattern doc_attribs doc_comment xml_comment '--'
|
||||||
|
syntax_pattern doc_comment doc_attribs xml_comment '--'
|
||||||
|
syntax_pattern doc_comment doc_comment xml_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern doc_comment doc_comment xml_comment '.[^TFX\-]*'
|
||||||
|
syntax_pattern doc_attribs doc_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern doc_attribs doc_attribs xml_punctuation '[=%\(\)\|,\?\*\+;\&]+'
|
||||||
|
syntax_pattern doc_attribs def_normal xml_punctuation '\['
|
||||||
|
syntax_pattern doc_attribs doc_attribs xml_attribute '#?[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern doc_attribs doc_string xml_string '"'
|
||||||
|
syntax_pattern doc_string doc_attribs xml_string '"'
|
||||||
|
syntax_pattern doc_string doc_string xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern doc_string doc_string xml_string '.[^\&"]*'
|
||||||
|
syntax_pattern doc_attribs doc_singlestring xml_string "'"
|
||||||
|
syntax_pattern doc_singlestring doc_attribs xml_string "'"
|
||||||
|
syntax_pattern doc_singlestring doc_singlestring xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern doc_singlestring doc_singlestring xml_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# doctype definitions
|
||||||
|
syntax_pattern def_normal doc_attribs xml_punctuation '\]'
|
||||||
|
syntax_pattern def_normal def2 xml_tag '<!'
|
||||||
|
syntax_pattern def2 def2_attribs xml_tagname '(ELEMENT|ENTITY|ATTLIST|NOTATION)\b'
|
||||||
|
syntax_pattern def2 def2_attribs text ''
|
||||||
|
syntax_pattern def2_attribs def_normal xml_tag '>'
|
||||||
|
syntax_pattern def2_attribs def2_comment xml_comment '--'
|
||||||
|
syntax_pattern def2_comment def2_attribs xml_comment '--'
|
||||||
|
syntax_pattern def2_comment def2_comment xml_fixme '\b(TODO|FIXME|XXX)\b'
|
||||||
|
syntax_pattern def2_comment def2_comment xml_comment '.[^TFX\-]*'
|
||||||
|
syntax_pattern def2_attribs def2_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern def2_attribs def2_attribs xml_punctuation '[=%\(\)\|,\?\*\+;\&]+'
|
||||||
|
syntax_pattern def2_attribs def2_attribs xml_attribute '#?[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern def2_attribs def2_string xml_string '"'
|
||||||
|
syntax_pattern def2_string def2_attribs xml_string '"'
|
||||||
|
syntax_pattern def2_string def2_string xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern def2_string def2_string xml_string '.[^\&"]*'
|
||||||
|
syntax_pattern def2_attribs def2_singlestring xml_string "'"
|
||||||
|
syntax_pattern def2_singlestring def2_attribs xml_string "'"
|
||||||
|
syntax_pattern def2_singlestring def2_singlestring xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern def2_singlestring def2_singlestring xml_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# tags
|
||||||
|
syntax_pattern normal tag xml_tag '</?'
|
||||||
|
syntax_pattern tag tag text '[ \t\r\n]+'
|
||||||
|
syntax_pattern tag tag_attribs xml_tagname '\b[a-z][a-z_0-9]*([ \t]*:[ \t]*[a-z][a-z_0-9]*)*\b' ignorecase
|
||||||
|
syntax_pattern tag tag_attribs text ''
|
||||||
|
syntax_pattern tag_attribs normal xml_tag '/?>'
|
||||||
|
syntax_pattern tag_attribs tag_attribs text '[ \t\r\n]+'
|
||||||
|
syntax_pattern tag_attribs tag_attribs xml_punctuation '='
|
||||||
|
syntax_pattern tag_attribs tag_attribs xml_attribute '[a-z_0-9\-:\.]+' ignorecase
|
||||||
|
syntax_pattern tag_attribs tag_string xml_string '"'
|
||||||
|
syntax_pattern tag_string tag_attribs xml_string '"'
|
||||||
|
syntax_pattern tag_string tag_string xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern tag_string tag_string xml_string '.[^\&"]*'
|
||||||
|
|
||||||
|
syntax_pattern tag_attribs tag_singlestring xml_string "'"
|
||||||
|
syntax_pattern tag_singlestring tag_attribs xml_string "'"
|
||||||
|
syntax_pattern tag_singlestring tag_singlestring xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern tag_singlestring tag_singlestring xml_string ".[^\\&']*"
|
||||||
|
|
||||||
|
# text/parsing optimisation
|
||||||
|
syntax_pattern normal normal xml_escapedchar '\&([a-z_:][a-z_0-9\.\-_:]*|#[0-9]+|#x[0-9a-f]+);' ignorecase
|
||||||
|
syntax_pattern normal normal text '.[^\&<]*'
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<omf>
|
||||||
|
<resource>
|
||||||
|
<creator>Derrick Moser</creator>
|
||||||
|
<maintainer>Derrick Moser</maintainer>
|
||||||
|
<title>Diffuse User's Manual</title>
|
||||||
|
<date>2024-01-13</date>
|
||||||
|
<version identifier="0.9.0" date="2024-01-13"/>
|
||||||
|
<subject category="GNOME|Development|Applications"/>
|
||||||
|
<description>Diffuse is a graphical tool for merging and comparing text files.</description>
|
||||||
|
<type>manual</type>
|
||||||
|
<format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.2//EN"/>
|
||||||
|
<identifier url="file:///usr/share/gnome/help/diffuse/C/diffuse.xml"/>
|
||||||
|
<language code="C"/>
|
||||||
|
<relation seriesid="0f102352-c827-b1a8-b28a-d657ef9b98a9a0"/>
|
||||||
|
<rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="Derrick Moser"/>
|
||||||
|
</resource>
|
||||||
|
</omf>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<omf>
|
||||||
|
<resource>
|
||||||
|
<creator>Derrick Moser</creator>
|
||||||
|
<maintainer>Derrick Moser</maintainer>
|
||||||
|
<title>Uživatelská příručka programu Diffuse</title>
|
||||||
|
<date>2024-01-13</date>
|
||||||
|
<version identifier="0.9.0" date="2024-01-13"/>
|
||||||
|
<subject category="GNOME|Development|Applications"/>
|
||||||
|
<description>Diffuse je grafický nástroj pro slučování a porovnávání textových souborů.</description>
|
||||||
|
<type>manual</type>
|
||||||
|
<format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.2//EN"/>
|
||||||
|
<identifier url="file:///usr/share/gnome/help/diffuse/cs/diffuse.xml"/>
|
||||||
|
<language code="cs"/>
|
||||||
|
<relation seriesid="0f102352-c827-b1a8-b28a-d657ef9b98a9a0"/>
|
||||||
|
<rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="Derrick Moser"/>
|
||||||
|
</resource>
|
||||||
|
</omf>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<omf>
|
||||||
|
<resource>
|
||||||
|
<creator>Derrick Moser</creator>
|
||||||
|
<maintainer>Derrick Moser</maintainer>
|
||||||
|
<title>Manuale utente di Diffuse</title>
|
||||||
|
<date>2024-01-13</date>
|
||||||
|
<version identifier="0.9.0" date="2024-01-13"/>
|
||||||
|
<subject category="GNOME|Development|Applications"/>
|
||||||
|
<description>Diffuse è uno strumento grafico per l'unione e il confronto di file di testo.</description>
|
||||||
|
<type>manual</type>
|
||||||
|
<format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.2//EN"/>
|
||||||
|
<identifier url="file:///usr/share/gnome/help/diffuse/it/diffuse.xml"/>
|
||||||
|
<language code="it"/>
|
||||||
|
<relation seriesid="0f102352-c827-b1a8-b28a-d657ef9b98a9a0"/>
|
||||||
|
<rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="Derrick Moser"/>
|
||||||
|
</resource>
|
||||||
|
</omf>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<omf>
|
||||||
|
<resource>
|
||||||
|
<creator>Derrick Moser</creator>
|
||||||
|
<maintainer>Derrick Moser</maintainer>
|
||||||
|
<title>Руководство Пользователя Diffuse</title>
|
||||||
|
<date>2024-01-13</date>
|
||||||
|
<version identifier="0.9.0" date="2024-01-13"/>
|
||||||
|
<subject category="GNOME|Development|Applications"/>
|
||||||
|
<description>Программа Diffuse является графическим инструментом для слияния и сравнения текстовых файлов.</description>
|
||||||
|
<type>manual</type>
|
||||||
|
<format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.2//EN"/>
|
||||||
|
<identifier url="file:///usr/share/gnome/help/diffuse/ru/diffuse.xml"/>
|
||||||
|
<language code="ru"/>
|
||||||
|
<relation seriesid="0f102352-c827-b1a8-b28a-d657ef9b98a9a0"/>
|
||||||
|
<rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="Derrick Moser"/>
|
||||||
|
</resource>
|
||||||
|
</omf>
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Diffuse documentation
|
||||||
|
|
||||||
|
Welcome to Diffuse documentation!
|
||||||
|
|
||||||
|
Here are the main sections:
|
||||||
|
|
||||||
|
1. [Users](users.md)
|
||||||
|
2. [Translators](translators.md)
|
||||||
|
3. Developers
|
||||||
|
1. [Developers setup](developers/developers-setup.md)
|
||||||
|
2. [Release process](developers/release-process.md)
|
Before Width: | Height: | Size: 145 KiB |
|
@ -0,0 +1,196 @@
|
||||||
|
# Developers setup
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Diffuse depends on these projects:
|
||||||
|
|
||||||
|
* Python 3.8+
|
||||||
|
* PyPi
|
||||||
|
* Cairo and GObject Introspection development headers
|
||||||
|
* Meson
|
||||||
|
* Flatpak and Flatpak builder (Linux only)
|
||||||
|
|
||||||
|
## Install the dependencies
|
||||||
|
|
||||||
|
### Install the system dependencies
|
||||||
|
|
||||||
|
It's a bit difficult to get the command lines for all the systems, but these
|
||||||
|
examples should be enough to find the packages on most systems.
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Debian/Ubuntu</summary>
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt install python3-pip libcairo2-dev libgirepository1.0-dev meson flatpak flatpak-builder
|
||||||
|
```
|
||||||
|
|
||||||
|
_Note: Tested on Debian 11 (Buster) and Ubuntu 20.04 (Focal)_
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>Fedora</summary>
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo dnf install python-pip cairo-devel cairo-gobject-devel meson flatpak flatpak-builder
|
||||||
|
```
|
||||||
|
|
||||||
|
_Note: Tested on Fedora 36_
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>macOS</summary>
|
||||||
|
|
||||||
|
On Mac, all dependencies can be installed using [Homebrew](https://docs.brew.sh/):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
brew install meson python3 py3cairo pygobject3 gtk+3 librsvg
|
||||||
|
```
|
||||||
|
|
||||||
|
_Note: Tested on macOS 12.5 (Monterey)_
|
||||||
|
</details>
|
||||||
|
|
||||||
|
### Install the project dependencies
|
||||||
|
|
||||||
|
To install the requirements just to execute the binary, run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pip3 install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
For developer tools, run this one instead (it includes requirements.txt):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
pip3 install -r requirements.dev.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
### Setup on Linux using Flatpak
|
||||||
|
|
||||||
|
#### Build, test and install
|
||||||
|
|
||||||
|
To build, test and install Diffuse locally:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak install runtime/org.gnome.Sdk/$(uname -p)/44
|
||||||
|
flatpak-builder --user --install build-flatpak io.github.mightycreak.Diffuse.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Run
|
||||||
|
|
||||||
|
To run Diffuse through Flatpak:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak run --user io.github.mightycreak.Diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Uninstall
|
||||||
|
|
||||||
|
To uninstall Diffuse:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak remove --user io.github.mightycreak.Diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setup on Linux using Meson
|
||||||
|
|
||||||
|
#### Build and test
|
||||||
|
|
||||||
|
Diffuse is using Meson as its build system.
|
||||||
|
|
||||||
|
To build and test Diffuse:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
meson setup build
|
||||||
|
meson compile -C build
|
||||||
|
meson test -C build
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Install on system and run
|
||||||
|
|
||||||
|
To install Diffuse on your system (e.g. `/usr/local/`):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
meson install -C build # requires admin privileges
|
||||||
|
```
|
||||||
|
|
||||||
|
To run Diffuse:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Install in a custom directory and run
|
||||||
|
|
||||||
|
Meson allows to change the default installation directories, see
|
||||||
|
[command-line documentation](https://mesonbuild.com/Commands.html#configure).
|
||||||
|
|
||||||
|
To install Diffuse in a custom directory (e.g. `~/bin/diffuse`):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
meson install -C build --destdir ~/bin/diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
To run Diffuse:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export PYTHONPATH=$HOME/bin/diffuse/usr/local/share/diffuse
|
||||||
|
cd ~/bin/diffuse/usr/local/bin
|
||||||
|
./diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Uninstall
|
||||||
|
|
||||||
|
To uninstall Diffuse afterwards:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo ninja uninstall -C build
|
||||||
|
sudo rm -v /usr/local/share/locale/*/LC_MESSAGES/diffuse.mo
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setup on macOS
|
||||||
|
|
||||||
|
#### Build and test
|
||||||
|
|
||||||
|
Diffuse is using Meson as its build system, this is the only supported system
|
||||||
|
on macOS.
|
||||||
|
|
||||||
|
To build and test Diffuse:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
meson setup build
|
||||||
|
meson compile -C build
|
||||||
|
meson test -C build
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Install on system and run
|
||||||
|
|
||||||
|
To install Diffuse on your system (e.g. `/Applications/` and `/opt/homebrew/`
|
||||||
|
or `/usr/local/`):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
meson install -C build # requires admin privileges
|
||||||
|
```
|
||||||
|
|
||||||
|
To run Diffuse:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
_Note: The `diffuse` command can be used to launch Diffuse as a native Mac app_
|
||||||
|
_that is installed into `/Applications/Diffuse.app`._
|
||||||
|
|
||||||
|
### Setup on Windows (deprecated)
|
||||||
|
|
||||||
|
_Note:_ The Windows port is not maintained and would need some love.
|
||||||
|
Contributions are very welcome! 😉
|
||||||
|
|
||||||
|
The `windows-installer` directory contains scripts for building an installable
|
||||||
|
package for Windows that includes all dependencies.
|
||||||
|
|
||||||
|
Diffuse can be packaged as a portable application by copying the installation
|
||||||
|
directory to a pen drive and creating a front end that sets the
|
||||||
|
`XDG_CONFIG_HOME` and `XDG_DATA_DIR` environment variables prior to launching
|
||||||
|
Diffuse. The `XDG_CONFIG_HOME` and `XDG_DATA_DIR` environment variables
|
||||||
|
indicate where Diffuse should store persistent settings (eg. the path to a
|
||||||
|
writable directory on the pen drive).
|
|
@ -0,0 +1,70 @@
|
||||||
|
# Release process
|
||||||
|
|
||||||
|
I'd wish the release process to be more automated, but for now it's still a
|
||||||
|
few manual steps.
|
||||||
|
|
||||||
|
## Prepare the PR for the new release
|
||||||
|
|
||||||
|
### Edit files
|
||||||
|
|
||||||
|
1. Find the next version, using semantic versioning (e.g. `1.2.3`), depending on
|
||||||
|
the changes in the changelog
|
||||||
|
2. Execute `./new_release.sh NEW_VERSION` (replace `NEW_VERSION` with the new version)
|
||||||
|
3. Update the AppData release notes in `data/io.github.mightycreak.Diffuse.appdata.xml.in`:
|
||||||
|
- Look for the `<description>` tag under the new `<release>` tag
|
||||||
|
- Sum the release in one sentence in the `<p>` tag (e.g. highlights, ...)
|
||||||
|
- Paste the changes from CHANGELOG.md, and adapt it to HTML (see other
|
||||||
|
releases in the file)
|
||||||
|
|
||||||
|
### Create branch, PR and merge
|
||||||
|
|
||||||
|
1. Create a new branch (e.g. `release-1.2.3`)
|
||||||
|
2. Create a new PR
|
||||||
|
3. When everything's green: merge the PR
|
||||||
|
|
||||||
|
## Create new release on GitHub
|
||||||
|
|
||||||
|
1. Create a new release on GitHub's [new release page](https://github.com/MightyCreak/diffuse/releases/new):
|
||||||
|
- Choose a tag: Enter `v` followed with the new version (e.g. `v1.2.3`) and
|
||||||
|
create the tag
|
||||||
|
- Release title: the tag (e.g. `v1.2.3`)
|
||||||
|
- Description:
|
||||||
|
- For the first paragraph, paste the first paragraph from the release notes
|
||||||
|
- For the second paragraph, got to [CHANGELOG.md](https://github.com/MightyCreak/diffuse/blob/main/CHANGELOG.md)
|
||||||
|
and copy the URL anchor to the new release, then add this sentence
|
||||||
|
(adapt the changelog link):
|
||||||
|
|
||||||
|
```text
|
||||||
|
For a more detailed list of changes, see the
|
||||||
|
[changelog](https://github.com/MightyCreak/diffuse/blob/main/CHANGELOG.md#xyz---yyyy-mm-dd).
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Publish release
|
||||||
|
|
||||||
|
## Create new release on Flatpak
|
||||||
|
|
||||||
|
1. Clone the Flathub repository: <https://github.com/flathub/io.github.mightycreak.Diffuse>
|
||||||
|
2. Copy the contents of `io.github.mightycreak.Diffuse.yml` in Diffuse repository
|
||||||
|
to Flathub's
|
||||||
|
3. Edit the file:
|
||||||
|
- Replace the content of the `diffuse` module with these lines:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: diffuse
|
||||||
|
builddir: true
|
||||||
|
buildsystem: meson
|
||||||
|
config-opts:
|
||||||
|
- -Dlog_print_output=true
|
||||||
|
- -Duse_flatpak=true
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: https://github.com/MightyCreak/diffuse
|
||||||
|
tag: <tag>
|
||||||
|
commit: <tag_commit>
|
||||||
|
```
|
||||||
|
|
||||||
|
- Replace `<tag>` with the release tag (e.g. `v1.2.3`)
|
||||||
|
- Replace `<tag_commit>` with the release tag commit (e.g. `c0cefac1c4ab99a309b65002e820f5c815e368e1`)
|
||||||
|
4. Create commit with changes and push to `main`
|
||||||
|
5. Check the build on Flathub: <https://flathub.org/builds/>
|
||||||
|
6. When it's done and successful, publish the build
|
After Width: | Height: | Size: 233 KiB |
After Width: | Height: | Size: 178 KiB |
After Width: | Height: | Size: 146 KiB |
|
@ -0,0 +1,104 @@
|
||||||
|
# Translators documentation
|
||||||
|
|
||||||
|
Below are basic instructions for adding and maintaining Gettext translations
|
||||||
|
for Diffuse. The installer will discover .po files in this directory and
|
||||||
|
compile them into the corresponding .mo files.
|
||||||
|
|
||||||
|
The example commands below show how to create and manage the Japanese
|
||||||
|
translations. Replace all instances of "ja" with the code for the desired
|
||||||
|
language.
|
||||||
|
|
||||||
|
## Create PO template
|
||||||
|
|
||||||
|
To create or update the PO template (`po/diffuse.pot`), use this command at the
|
||||||
|
repo root:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
xgettext -w 84 -o po/diffuse.pot -f po/POTFILES
|
||||||
|
```
|
||||||
|
|
||||||
|
_Note:_ why 84 characters, you ask? because the usage text has to be 80-char
|
||||||
|
wide, plus the beginning and ending `"` and the final `\n` (which is two
|
||||||
|
characters).
|
||||||
|
|
||||||
|
## Create a new translation
|
||||||
|
|
||||||
|
To create a new translation file, you'll need a PO template. If not already
|
||||||
|
created, refer to previous section "Create PO template".
|
||||||
|
|
||||||
|
1. Create a .po file for the translation (replace `<lang>` with your language):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
msginit -w 84 -l <lang> -o <lang>.po -i diffuse.pot
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Manually complete in the translations in the .po file using either an
|
||||||
|
application for that such as [Gtranslator][gtranslator] or directly with a
|
||||||
|
text editor such as [gedit][gedit] or [vim][vim].
|
||||||
|
|
||||||
|
[gtranslator]: https://www.flathub.org/apps/details/org.gnome.Gtranslator
|
||||||
|
[gedit]: https://www.flathub.org/apps/details/org.gnome.gedit
|
||||||
|
[vim]: https://www.vim.org/
|
||||||
|
|
||||||
|
## Update a translation
|
||||||
|
|
||||||
|
Use `update-translations.py` to update one or more PO files.
|
||||||
|
|
||||||
|
Here is an example with the Japanese and Korean translations, respectively
|
||||||
|
`ja.po` and `ko.po`:
|
||||||
|
|
||||||
|
Command-line:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./update-translations.py ja.po ko.po
|
||||||
|
```
|
||||||
|
|
||||||
|
This command also validate the files, so if you see a message saying "N
|
||||||
|
untranslated messages", use the text editor of your choice to complete the
|
||||||
|
translations.
|
||||||
|
|
||||||
|
## Validate a translation
|
||||||
|
|
||||||
|
Use `update-translations.py` to validate one or more PO files.
|
||||||
|
|
||||||
|
Here is an example with `ja.po` and `ko.po`:
|
||||||
|
|
||||||
|
Command-line:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./update-translations.py --check-only ja.po ko.po
|
||||||
|
```
|
||||||
|
|
||||||
|
## Windows-specific files
|
||||||
|
|
||||||
|
### Installer
|
||||||
|
|
||||||
|
Localized text for the Microsoft Windows installer is stored in separate ISL
|
||||||
|
files. Copy the [English version][english-win-docs] and replace the text to the
|
||||||
|
right of each equal sign.
|
||||||
|
|
||||||
|
[english-win-docs]: ../windows-installer/en.isl
|
||||||
|
|
||||||
|
### DocBook
|
||||||
|
|
||||||
|
Diffuse's help documentation is written in the DocBook format and can be easily
|
||||||
|
converted into other formats using XSLT stylesheets. If the local help
|
||||||
|
documentation or its browser are unavailable, Diffuse will attempt to display
|
||||||
|
the on-line help documentation using a web browser.
|
||||||
|
|
||||||
|
Start a new translation of the manual by copying the English version of the
|
||||||
|
[DocBook manual][docbook-manual] and then edit the contents.
|
||||||
|
|
||||||
|
The DocBook manual is converted to HTML for Windows and Unix man pages for
|
||||||
|
POSIX platforms. The conversion tools insert some English text that gets
|
||||||
|
localized using search and replace. Manually add new search and replace rules
|
||||||
|
to these files:
|
||||||
|
|
||||||
|
```text
|
||||||
|
../windows-installer/translations.txt
|
||||||
|
../utils/translations.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
The format of each line is: \<language id\>:\<English text\>:\<localised text\>
|
||||||
|
|
||||||
|
[docbook-manual]: ../data/usr/share/gnome/help/diffuse/C/diffuse.xml
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Users documentation
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Using Flatpak
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak install io.github.mightycreak.Diffuse
|
||||||
|
```
|
||||||
|
|
||||||
|
Flatpak is probably the easiest way to install Diffuse on any distribution and
|
||||||
|
get the latest and greatest as quickly as possible. The Flatpak package is
|
||||||
|
hosted on [Flathub](https://flathub.org).
|
||||||
|
|
||||||
|
_Note:_ If the Flathub repository is not installed yet, please follow
|
||||||
|
[these instructions](https://flatpak.org/setup/).
|
||||||
|
|
||||||
|
### Using the distribution package manager
|
||||||
|
|
||||||
|
The Diffuse package statuses for every distributions can been seen on
|
||||||
|
[repology](https://repology.org/project/diffuse/versions).
|
||||||
|
|
||||||
|
Huge thanks to [@bongochong](https://github.com/bongochong) for maintaining the
|
||||||
|
Diffuse package on Fedora.
|
||||||
|
|
||||||
|
## Integrate with Git
|
||||||
|
|
||||||
|
Diffuse is compatible with `git difftool` command-line. To use Diffuse as Git
|
||||||
|
diff tool, run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git config --global diff.tool diffuse
|
||||||
|
```
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://0k6ujfaq7msw"
|
|
||||||
path="res://.godot/imported/buh_1.wav-e92be9823514555c18a1d85000eb7b5f.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/buh_1.wav"
|
|
||||||
dest_files=["res://.godot/imported/buh_1.wav-e92be9823514555c18a1d85000eb7b5f.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://dwsveuqk75ael"
|
|
||||||
path="res://.godot/imported/buh_2.wav-3265de19d1ec12c358a8b7076a834489.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/buh_2.wav"
|
|
||||||
dest_files=["res://.godot/imported/buh_2.wav-3265de19d1ec12c358a8b7076a834489.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://fkwgly1jeqro"
|
|
||||||
path="res://.godot/imported/buh_3.wav-a51f4eb5ec7d0e39beb5b09148160404.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/buh_3.wav"
|
|
||||||
dest_files=["res://.godot/imported/buh_3.wav-a51f4eb5ec7d0e39beb5b09148160404.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://d1y3npku40ufd"
|
|
||||||
path="res://.godot/imported/buh_4.wav-051f93dfac6f5affe4111e95b81d366c.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/buh_4.wav"
|
|
||||||
dest_files=["res://.godot/imported/buh_4.wav-051f93dfac6f5affe4111e95b81d366c.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://dxe2412gbht5x"
|
|
||||||
path="res://.godot/imported/cough_1.wav-64464c03d6559b420ee1e171b477560b.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/cough_1.wav"
|
|
||||||
dest_files=["res://.godot/imported/cough_1.wav-64464c03d6559b420ee1e171b477560b.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://04yaek8c54sk"
|
|
||||||
path="res://.godot/imported/cough_2.wav-479f12d101d6cd1066d489e83754c964.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/cough_2.wav"
|
|
||||||
dest_files=["res://.godot/imported/cough_2.wav-479f12d101d6cd1066d489e83754c964.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://b0q3boyn1ivpk"
|
|
||||||
path="res://.godot/imported/cough_3.wav-9f6c98fa25daeb2d797c7b6d2d749f18.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/cough_3.wav"
|
|
||||||
dest_files=["res://.godot/imported/cough_3.wav-9f6c98fa25daeb2d797c7b6d2d749f18.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|