mirror of
https://github.com/sharkdp/bat
synced 2026-08-03 18:51:44 +00:00
Compare commits
81 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 589df6792f | |||
| 945bba777b | |||
| 64763eafbe | |||
| 3da4651569 | |||
| 311ed2feca | |||
| 33c11d64f0 | |||
| a4b674902f | |||
| 3fa09dbe2e | |||
| bf2b2df9c9 | |||
| 3617c98cf5 | |||
| 774d36c989 | |||
| 6abd61865f | |||
| 3c59b98dc8 | |||
| 21338ed789 | |||
| dc8ab0b5ce | |||
| ddb39ef2f6 | |||
| 355e62efe9 | |||
| fddd11a205 | |||
| 8b37e62cf3 | |||
| 4296d47dcb | |||
| 42f1ef019a | |||
| fe8e526292 | |||
| 0e9d612173 | |||
| 06c601bc7c | |||
| 229fbc1a18 | |||
| e05f5010da | |||
| 073b9968c0 | |||
| d3aa17ae77 | |||
| 4187eed12b | |||
| 12ecb325c9 | |||
| 90e48e9b61 | |||
| 35f31270f3 | |||
| 2a71852070 | |||
| c8dd32802d | |||
| 71f04dc0e8 | |||
| 49f8bbfee4 | |||
| f4217eba73 | |||
| 14900f6ed8 | |||
| c18afcb01a | |||
| 63043d4a60 | |||
| 76034880ae | |||
| 768189859a | |||
| 6e5a2a5c51 | |||
| 9935c4984c | |||
| a0a5e30c39 | |||
| 4126bbeead | |||
| a5b79295d7 | |||
| e917784932 | |||
| f46b90d28d | |||
| 64cbfbed47 | |||
| 1ced35ec76 | |||
| 16d346773b | |||
| b02120cf66 | |||
| 702b5caf2d | |||
| d395f64f58 | |||
| c9627040cc | |||
| b1f69434f9 | |||
| bcca56e3b1 | |||
| 2f98610929 | |||
| 89539ff247 | |||
| aa74d19940 | |||
| cf7d9ef962 | |||
| 425a0f90e9 | |||
| a27814db8e | |||
| 9702f5256c | |||
| 23fd11e806 | |||
| 304ee1489c | |||
| 07d4179274 | |||
| 1439dde265 | |||
| bef0bf1654 | |||
| 8435cad602 | |||
| 52c11fe23d | |||
| 6fc9641f6a | |||
| 8b6341458b | |||
| 8b787b4f70 | |||
| ef5154d5b3 | |||
| 7c49919297 | |||
| 395a169104 | |||
| 93f710bdff | |||
| 170badfdd1 | |||
| 978b9adc56 |
+15
-13
@@ -18,8 +18,9 @@ jobs:
|
||||
name: Minimum supported rust version
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- name: Git checkout
|
||||
- name: Checkout source code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }})
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
@@ -94,17 +95,17 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
job:
|
||||
- { os: ubuntu-18.04 , target: arm-unknown-linux-gnueabihf , use-cross: true }
|
||||
- { os: ubuntu-18.04 , target: aarch64-unknown-linux-gnu , use-cross: true }
|
||||
- { os: ubuntu-18.04 , target: i686-unknown-linux-gnu , use-cross: true }
|
||||
- { os: ubuntu-18.04 , target: i686-unknown-linux-musl , use-cross: true }
|
||||
- { os: ubuntu-18.04 , target: x86_64-unknown-linux-gnu }
|
||||
- { os: ubuntu-18.04 , target: x86_64-unknown-linux-musl , use-cross: true }
|
||||
- { os: macos-10.15 , target: x86_64-apple-darwin }
|
||||
# - { os: windows-2019 , target: i686-pc-windows-gnu } ## disabled; error: linker `i686-w64-mingw32-gcc` not found
|
||||
- { os: windows-2019 , target: i686-pc-windows-msvc }
|
||||
- { os: windows-2019 , target: x86_64-pc-windows-gnu }
|
||||
- { os: windows-2019 , target: x86_64-pc-windows-msvc }
|
||||
- { os: ubuntu-18.04, target: arm-unknown-linux-gnueabihf , use-cross: true }
|
||||
- { os: ubuntu-18.04, target: aarch64-unknown-linux-gnu , use-cross: true }
|
||||
- { os: ubuntu-18.04, target: i686-unknown-linux-gnu , use-cross: true }
|
||||
- { os: ubuntu-18.04, target: i686-unknown-linux-musl , use-cross: true }
|
||||
- { os: ubuntu-18.04, target: x86_64-unknown-linux-gnu }
|
||||
- { os: ubuntu-18.04, target: x86_64-unknown-linux-musl , use-cross: true }
|
||||
- { os: macos-10.15 , target: x86_64-apple-darwin }
|
||||
# - { os: windows-2019, target: i686-pc-windows-gnu } ## disabled; error: linker `i686-w64-mingw32-gcc` not found
|
||||
- { os: windows-2019, target: i686-pc-windows-msvc }
|
||||
- { os: windows-2019, target: x86_64-pc-windows-gnu }
|
||||
- { os: windows-2019, target: x86_64-pc-windows-msvc }
|
||||
steps:
|
||||
- name: Checkout source code
|
||||
uses: actions/checkout@v2
|
||||
@@ -120,7 +121,7 @@ jobs:
|
||||
- name: Extract crate information
|
||||
shell: bash
|
||||
run: |
|
||||
echo "PROJECT_NAME=$(sed -n 's/^name = "\(.*\)"/\1/p' Cargo.toml)" >> $GITHUB_ENV
|
||||
echo "PROJECT_NAME=$(sed -n 's/^name = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV
|
||||
echo "PROJECT_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV
|
||||
echo "PROJECT_MAINTAINER=$(sed -n 's/^authors = \["\(.*\)"\]/\1/p' Cargo.toml)" >> $GITHUB_ENV
|
||||
echo "PROJECT_HOMEPAGE=$(sed -n 's/^homepage = "\(.*\)"/\1/p' Cargo.toml)" >> $GITHUB_ENV
|
||||
@@ -268,6 +269,7 @@ jobs:
|
||||
cp "README.md" "LICENSE-MIT" "LICENSE-APACHE" "CHANGELOG.md" "$ARCHIVE_DIR"
|
||||
|
||||
# Autocompletion files
|
||||
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.bash "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.bash"
|
||||
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.fish"
|
||||
cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.zsh"
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
**/*.rs.bk
|
||||
|
||||
# Generated files
|
||||
/assets/completions/bat.bash
|
||||
/assets/completions/bat.fish
|
||||
/assets/completions/bat.zsh
|
||||
/assets/manual/bat.1
|
||||
|
||||
+25
-1
@@ -20,6 +20,30 @@
|
||||
|
||||
|
||||
|
||||
# v0.18.2
|
||||
|
||||
## Features
|
||||
|
||||
- Ignore known backup/template filename suffixes when selecting the syntax, see #1687 (@scop)
|
||||
|
||||
## Bugfixes
|
||||
|
||||
- Fix for a security vulnerability on Windows. Prior to this release, `bat` would execute programs called `less`/`less.exe` from the current working directory (instead of the one from `PATH`) with priority. An attacker might be able to use this by placing a malicious program in a shared directory where the user would execute `bat`. `bat` users on Windows are advised to upgrade to this version. See #1724 and #1472 (@Ry0taK).
|
||||
|
||||
## Other
|
||||
|
||||
- Add bash completion, see #1678 (@scop)
|
||||
- Fix Clippy lints, see #1661 (@mohamed-abdelnour)
|
||||
- Add syntax highlighting test files, see #1213 and #1668 (@mohamed-abdelnour)
|
||||
|
||||
## Syntaxes
|
||||
|
||||
- Upgraded Julia syntax to fix a highlighting bug, see #1692
|
||||
- Added support for `dash` syntax, see #1654 (@mohamed-abdelnour)
|
||||
- Added support for `XAML` syntax, see #1590 and #1655 (@mohamed-abdelnour)
|
||||
- Apply `DotENV` syntax also for `.env.default` and `.env.defaults` files, see #1669
|
||||
|
||||
|
||||
# v0.18.1
|
||||
|
||||
## Bugfixes
|
||||
@@ -535,7 +559,7 @@ You can see the API documentation here: https://docs.rs/bat/
|
||||
|
||||
- Added `BAT_CONFIG_PATH` environment variable to set a non-default path for `bat`s configuration file, see #375 (@deg4uss3r)
|
||||
|
||||
- Allow for multiple occurences of `--style` to allow for the configuration
|
||||
- Allow for multiple occurrences of `--style` to allow for the configuration
|
||||
of styles from the config file, see #367 (@sindreij)
|
||||
|
||||
- Allow for multiple `--line-range` arguments, see #23
|
||||
|
||||
Generated
+50
-11
@@ -1,5 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
@@ -17,9 +19,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ansi_colours"
|
||||
version = "1.0.2"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "52cb663b84aea8670b4a40368360e29485c11b03d14ff6283261aeccd69d5ce1"
|
||||
checksum = "60e2fb6138a49ad9f1cb3c6d8f8ccbdd5e62b4dab317c1b435a47ecd7da1d28f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
@@ -44,9 +46,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "assert_cmd"
|
||||
version = "1.0.3"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2475b58cd94eb4f70159f4fd8844ba3b807532fe3131b3373fae060bbe30396"
|
||||
checksum = "a88b6bd5df287567ffdf4ddf4d33060048e1068308e5f62d81c6f9824a045a48"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"doc-comment",
|
||||
@@ -81,7 +83,7 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
||||
|
||||
[[package]]
|
||||
name = "bat"
|
||||
version = "0.18.1"
|
||||
version = "0.18.2"
|
||||
dependencies = [
|
||||
"ansi_colours",
|
||||
"ansi_term 0.12.1",
|
||||
@@ -97,6 +99,7 @@ dependencies = [
|
||||
"error-chain",
|
||||
"git2",
|
||||
"globset",
|
||||
"grep-cli",
|
||||
"lazy_static",
|
||||
"nix",
|
||||
"path_abs",
|
||||
@@ -476,9 +479,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
|
||||
|
||||
[[package]]
|
||||
name = "globset"
|
||||
version = "0.4.6"
|
||||
version = "0.4.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c152169ef1e421390738366d2f796655fec62621dabbd0fd476f905934061e4a"
|
||||
checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"bstr",
|
||||
@@ -487,6 +490,23 @@ dependencies = [
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "grep-cli"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dd110c34bb4460d0de5062413b773e385cbf8a85a63fc535590110a09e79e8a"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"bstr",
|
||||
"globset",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"regex",
|
||||
"same-file",
|
||||
"termcolor",
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.9.1"
|
||||
@@ -561,9 +581,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.94"
|
||||
version = "0.2.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
|
||||
checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36"
|
||||
|
||||
[[package]]
|
||||
name = "libgit2-sys"
|
||||
@@ -634,6 +654,15 @@ version = "2.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.4.4"
|
||||
@@ -646,14 +675,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.20.0"
|
||||
version = "0.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
|
||||
checksum = "5c3728fec49d363a50a8828a190b379a446cc5cf085c06259bbbeb34447e4ec7"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"memoffset",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1133,6 +1163,15 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "terminal_size"
|
||||
version = "0.1.16"
|
||||
|
||||
+4
-3
@@ -6,7 +6,7 @@ homepage = "https://github.com/sharkdp/bat"
|
||||
license = "MIT/Apache-2.0"
|
||||
name = "bat"
|
||||
repository = "https://github.com/sharkdp/bat"
|
||||
version = "0.18.1"
|
||||
version = "0.18.2"
|
||||
exclude = ["assets/syntaxes/*", "assets/themes/*"]
|
||||
build = "build.rs"
|
||||
edition = '2018'
|
||||
@@ -51,6 +51,7 @@ path_abs = { version = "0.5", default-features = false }
|
||||
clircle = "0.3"
|
||||
bugreport = "0.4"
|
||||
dirs-next = { version = "2.0.0", optional = true }
|
||||
grep-cli = "0.1.6"
|
||||
|
||||
[dependencies.git2]
|
||||
version = "0.13"
|
||||
@@ -73,14 +74,14 @@ version = "0.12"
|
||||
default-features = false
|
||||
|
||||
[dev-dependencies]
|
||||
assert_cmd = "1.0.2"
|
||||
assert_cmd = "1.0.5"
|
||||
serial_test = "0.5.1"
|
||||
predicates = "1.0.7"
|
||||
wait-timeout = "0.2.0"
|
||||
tempfile = "3.2.0"
|
||||
|
||||
[target.'cfg(unix)'.dev-dependencies]
|
||||
nix = "0.20.0"
|
||||
nix = "0.21.0"
|
||||
|
||||
[build-dependencies]
|
||||
clap = { version = "2.33", optional = true }
|
||||
|
||||
@@ -197,9 +197,9 @@ The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.
|
||||
*... and other Debian-based Linux distributions.*
|
||||
|
||||
`bat` is making its way through the [Ubuntu](https://packages.ubuntu.com/eoan/bat) and
|
||||
[Debian](https://packages.debian.org/sid/bat) package release process, and is available
|
||||
for Ubuntu as of Eoan 19.10. On Debian `bat` is currently only available on the unstable
|
||||
"Sid" branch.
|
||||
[Debian](https://packages.debian.org/testing/bat) package release process, and is available
|
||||
for Ubuntu as of Eoan 19.10. On Debian `bat` is currently available on the unstable
|
||||
"Sid" branch and on the testing branch.
|
||||
|
||||
If your Ubuntu/Debian installation is new enough you can simply run:
|
||||
|
||||
@@ -222,7 +222,7 @@ the most recent release of `bat`, download the latest `.deb` package from the
|
||||
[release page](https://github.com/sharkdp/bat/releases) and install it via:
|
||||
|
||||
```bash
|
||||
sudo dpkg -i bat_0.18.1_amd64.deb # adapt version number and architecture
|
||||
sudo dpkg -i bat_0.18.2_amd64.deb # adapt version number and architecture
|
||||
```
|
||||
|
||||
### On Alpine Linux
|
||||
@@ -409,10 +409,11 @@ even when truecolor support is available:
|
||||
It replaces certain bright colors with 8-bit colors from 16 to 21. **Do not** use this simply
|
||||
because you have a 256-color terminal but are not using base16-shell.
|
||||
|
||||
Although these themes are more restricted, they have two advantages over truecolor themes:
|
||||
Although these themes are more restricted, they have three advantages over truecolor themes. They:
|
||||
|
||||
- They harmonize better with other terminal software using 3-bit or 4-bit colors.
|
||||
- When you change your terminal theme, `bat` output already on the screen will update to match.
|
||||
- Enjoy maximum compatibility. Some terminal utilities do not support more than 3-bit colors.
|
||||
- Adapt to terminal theme changes. Even for already printed output.
|
||||
- Visually harmonize better with other terminal software.
|
||||
|
||||
### Output style
|
||||
|
||||
@@ -516,6 +517,8 @@ set, `less` is used by default. If you want to use a different pager, you can ei
|
||||
`PAGER` variable or set the `BAT_PAGER` environment variable to override what is specified in
|
||||
`PAGER`.
|
||||
|
||||
**Note**: If `PAGER` is `more` or `most`, `bat` will silently use `less` instead to ensure support for colors.
|
||||
|
||||
If you want to pass command-line arguments to the pager, you can also set them via the
|
||||
`PAGER`/`BAT_PAGER` variables:
|
||||
|
||||
@@ -714,6 +717,10 @@ Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide.
|
||||
- [keith-hall](https://github.com/keith-hall)
|
||||
- [Enselic](https://github.com/Enselic)
|
||||
|
||||
## Security vulnerabilities
|
||||
|
||||
Please contact [David Peter](https://david-peter.de/) via email if you want to report a vulnarability in `bat`.
|
||||
|
||||
## Project goals and alternatives
|
||||
|
||||
`bat` tries to achieve the following goals:
|
||||
|
||||
Vendored
+88
@@ -0,0 +1,88 @@
|
||||
# shellcheck disable=SC2207
|
||||
|
||||
# Requires https://github.com/scop/bash-completion
|
||||
|
||||
_bat() {
|
||||
local cur prev words cword split
|
||||
_init_completion -s || return 0
|
||||
|
||||
if [[ ${words[1]-} == cache ]]; then
|
||||
case $prev in
|
||||
--source | --target)
|
||||
_filedir -d
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
COMPREPLY=($(compgen -W "
|
||||
--build --clear --source --target --blank --help
|
||||
" -- "$cur"))
|
||||
return 0
|
||||
fi
|
||||
|
||||
case $prev in
|
||||
-l | --language)
|
||||
local IFS=$'\n'
|
||||
COMPREPLY=($(compgen -W "$(
|
||||
"$1" --list-languages | while IFS=: read -r lang _; do
|
||||
printf "%s\n" "$lang"
|
||||
done
|
||||
)" -- "$cur"))
|
||||
compopt -o filenames # for escaping
|
||||
return 0
|
||||
;;
|
||||
-H | --highlight-line | --diff-context | --tabs | --terminal-width | \
|
||||
-m | --map-syntax | --style | --line-range | -h | --help | -V | \
|
||||
--version | --diagnostic | --config-file | --config-dir | \
|
||||
--cache-dir | --generate-config-file)
|
||||
# argument required but no completion available, or option
|
||||
# causes an exit
|
||||
return 0
|
||||
;;
|
||||
--file-name)
|
||||
_filedir
|
||||
return 0
|
||||
;;
|
||||
--wrap)
|
||||
COMPREPLY=($(compgen -W "auto never character" -- "$cur"))
|
||||
return 0
|
||||
;;
|
||||
--color | --decorations | --paging)
|
||||
COMPREPLY=($(compgen -W "auto never always" -- "$cur"))
|
||||
return 0
|
||||
;;
|
||||
--italic-text)
|
||||
COMPREPLY=($(compgen -W "always never" -- "$cur"))
|
||||
return 0
|
||||
;;
|
||||
--pager)
|
||||
COMPREPLY=($(compgen -c -- "$cur"))
|
||||
return 0
|
||||
;;
|
||||
--theme)
|
||||
local IFS=$'\n'
|
||||
COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur"))
|
||||
compopt -o filenames # for escaping
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
$split && return 0
|
||||
|
||||
if [[ $cur == -* ]]; then
|
||||
COMPREPLY=($(compgen -W "
|
||||
--show-all --plain --language --highlight-line
|
||||
--file-name --diff --diff-context --tabs --wrap
|
||||
--terminal-width --number --color --italic-text
|
||||
--decorations --paging --pager --map-syntax --theme
|
||||
--list-themes --style --line-range --list-languages
|
||||
--help --version --force-colorization --unbuffered
|
||||
--diagnostic --config-file --config-dir --cache-dir
|
||||
--generate-config-file
|
||||
" -- "$cur"))
|
||||
return 0
|
||||
fi
|
||||
|
||||
_filedir
|
||||
((cword == 1)) && COMPREPLY+=($(compgen -W cache -- "$cur"))
|
||||
|
||||
} && complete -F _bat {{PROJECT_EXECUTABLE}}
|
||||
Vendored
+5
@@ -44,6 +44,11 @@ _{{PROJECT_EXECUTABLE}}_main() {
|
||||
'(--style)'--style='[Comma-separated list of style elements to display]:<components>:->style'
|
||||
'(-r --line-range)'{-r+,--line-range=}'[Only print the lines from N to M]:<N\:M>...'
|
||||
'(: --list-themes --list-languages -L)'{-L,--list-languages}'[Display all supported languages]'
|
||||
'(: --no-config)'--no-config'[Do not use the configuration file]'
|
||||
'(: --config-dir)'--config-dir'[Show bat'"'"'s configuration directory]'
|
||||
'(: --config-file)'--config-file'[Show path to the configuration file]'
|
||||
'(: --generate-config-file)'--generate-config-file'[Generates a default configuration file]'
|
||||
'(: --cache-dir)'--cache-dir'[Show bat'"'"'s cache directory]'
|
||||
'(: -)'{-h,--help}'[Print this help message]'
|
||||
'(: -)'{-V,--version}'[Show version information]'
|
||||
'*: :_files'
|
||||
|
||||
Vendored
+4
@@ -189,6 +189,10 @@ is dependent on your operating system. To get the default path for your system,
|
||||
|
||||
Alternatively, you can use the BAT_CONFIG_PATH environment variable to point {{PROJECT_EXECUTABLE}} to a non-default
|
||||
location of the configuration file.
|
||||
|
||||
To generate a default configuration file, call:
|
||||
|
||||
\fB{{PROJECT_EXECUTABLE}} --generate-config-file\fR
|
||||
.SH "ADDING CUSTOM LANGUAGES"
|
||||
{{PROJECT_EXECUTABLE}} supports Sublime Text \fB.sublime-syntax\fR language files, and can be
|
||||
customized to add additional languages to your local installation. To do this, add the \fB.sublime-syntax\fR language
|
||||
|
||||
+7
-2
@@ -1,8 +1,8 @@
|
||||
diff --git syntaxes/01_Packages/ShellScript/Bash.sublime-syntax syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
|
||||
index e973e319..a703cef8 100644
|
||||
index e973e319..07c170a7 100644
|
||||
--- syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
|
||||
+++ syntaxes/01_Packages/ShellScript/Bash.sublime-syntax
|
||||
@@ -30,8 +30,8 @@ file_extensions:
|
||||
@@ -30,12 +30,12 @@ file_extensions:
|
||||
- .zshenv
|
||||
- .zshrc
|
||||
- PKGBUILD # https://jlk.fjfi.cvut.cz/arch/manpages/man/PKGBUILD.5
|
||||
@@ -13,3 +13,8 @@ index e973e319..a703cef8 100644
|
||||
|
||||
first_line_match: |
|
||||
(?x)
|
||||
- ^\#! .* \b(bash|zsh|sh|tcsh|ash)\b
|
||||
+ ^\#! .* \b(bash|zsh|sh|tcsh|ash|dash)\b
|
||||
| ^\# \s* -\*- [^*]* mode: \s* shell-script [^*]* -\*-
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
diff --git syntaxes/01_Packages/XML/XML.sublime-syntax syntaxes/01_Packages/XML/XML.sublime-syntax
|
||||
index ad7d9c87..af4a00f0 100644
|
||||
--- syntaxes/01_Packages/XML/XML.sublime-syntax
|
||||
+++ syntaxes/01_Packages/XML/XML.sublime-syntax
|
||||
@@ -12,6 +12,7 @@ file_extensions:
|
||||
- rss
|
||||
- opml
|
||||
- svg
|
||||
+ - xaml
|
||||
first_line_match: |-
|
||||
(?x:
|
||||
^(?:
|
||||
Vendored
BIN
Binary file not shown.
Vendored
+1
-1
Submodule assets/syntaxes/02_Extra/CMake updated: 7d6231c934...ab6ef4ef9f
Vendored
+1
-1
Submodule assets/syntaxes/02_Extra/DotENV updated: a1c917633d...58201ba2ab
+4
-2
@@ -4,7 +4,6 @@
|
||||
name: DotENV
|
||||
file_extensions:
|
||||
- .env
|
||||
- .envrc
|
||||
- .env.dist
|
||||
- .env.local
|
||||
- .env.sample
|
||||
@@ -19,8 +18,11 @@ file_extensions:
|
||||
- .env.production
|
||||
- .env.production.local
|
||||
- .env.dusk.local
|
||||
- .flaskenv
|
||||
- .env.staging
|
||||
- .env.default
|
||||
- .env.defaults
|
||||
- .envrc
|
||||
- .flaskenv
|
||||
scope: source.env
|
||||
contexts:
|
||||
main:
|
||||
|
||||
@@ -5,6 +5,7 @@ name: fstab
|
||||
file_extensions:
|
||||
- fstab
|
||||
- crypttab
|
||||
- mtab
|
||||
scope: source.fstab
|
||||
|
||||
contexts:
|
||||
|
||||
Vendored
+1
-1
Submodule assets/syntaxes/02_Extra/Julia updated: cc13e7d4ef...48639e1dbf
@@ -54,6 +54,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
"assets/manual/bat.1.in",
|
||||
out_dir.join("assets/manual/bat.1"),
|
||||
)?;
|
||||
template(
|
||||
&variables,
|
||||
"assets/completions/bat.bash.in",
|
||||
out_dir.join("assets/completions/bat.bash"),
|
||||
)?;
|
||||
template(
|
||||
&variables,
|
||||
"assets/completions/bat.fish.in",
|
||||
|
||||
+13
-2
@@ -95,6 +95,17 @@ bat f - g # output 'f', then stdin, then 'g'.
|
||||
|
||||
### 他のツールとの統合
|
||||
|
||||
#### `fzf`
|
||||
|
||||
[`fzf`](https://github.com/junegunn/fzf) のプレビューウィンドウに `bat` を使用できます。
|
||||
その場合、`bat` の `--color=always` オプションを用いてカラー出力を強制しなければなりません。
|
||||
また、`--line-range` オプションを用いることで巨大なファイルの読み込み時間を制限できます:
|
||||
```bash
|
||||
fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'
|
||||
```
|
||||
|
||||
詳しくは [`fzf` の `README`](https://github.com/junegunn/fzf#preview-window) を参照してください。
|
||||
|
||||
#### `find` or `fd`
|
||||
|
||||
`find` の `-exec` オプションを使用して、`bat` ですべての検索結果をプレビューできます:
|
||||
@@ -191,7 +202,7 @@ ln -s /usr/bin/batcat ~/.local/bin/bat
|
||||
batの最新リリースを実行する場合、または Ubuntu/Debian の古いバージョンを使用している場合は、[release page](https://github.com/sharkdp/bat/releases) から最新の `.deb` パッケージをダウンロードし、
|
||||
次の方法でインストールします:
|
||||
```bash
|
||||
sudo dpkg -i bat_0.18.1_amd64.deb # adapt version number and architecture
|
||||
sudo dpkg -i bat_0.18.2_amd64.deb # adapt version number and architecture
|
||||
```
|
||||
|
||||
### On Alpine Linux
|
||||
@@ -393,7 +404,7 @@ bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
|
||||
|
||||
### 新しい構文の追加 / 言語の定義
|
||||
|
||||
`bat` はシンタックスハイライトのための [`syntext`](https://github.com/trishume/syntect/)
|
||||
`bat` はシンタックスハイライトのための [`syntect`](https://github.com/trishume/syntect/)
|
||||
という素晴らしいライブラリを使用しています。`syntect` は、
|
||||
[Sublime Text の `.sublime-syntax` ファイル](https://www.sublimetext.com/docs/3/syntax.html)
|
||||
とテーマを読み取ることができます。新しい構文を定義するために以下の手順を行います。
|
||||
|
||||
+463
-204
@@ -1,75 +1,86 @@
|
||||
<p align="center">
|
||||
<img src="../doc/logo-header.svg" alt="bat - a cat clone with wings"><br>
|
||||
<a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a>
|
||||
<a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf/branch/master?svg=true"></a>
|
||||
<a href="https://github.com/sharkdp/bat/actions?query=workflow%3ACICD"><img src="https://github.com/sharkdp/bat/workflows/CICD/badge.svg" alt="Build Status"></a>
|
||||
<img src="https://img.shields.io/crates/l/bat.svg" alt="license">
|
||||
<a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br>
|
||||
|
||||
문법 강조와 깃 통합 기능의 <i>cat(1)</i> 클론
|
||||
문법 강조와 Git 통합 기능의 <i>cat(1)</i> 클론
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="#문법-강조">주요 기능들</a> •
|
||||
<a href="#사용법">사용법</a> •
|
||||
<a href="#설치">설치</a> •
|
||||
<a href="#커스터마이즈">커스터마이즈</a> •
|
||||
<a href="#사용자화">사용자화</a> •
|
||||
<a href="#프로젝트-목표와-대안들">프로젝트 목표와 대안들</a> •
|
||||
번역 [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="../doc/README-ja.md">日本語</a>]
|
||||
[<a href="https://github.com/chinanf-boy/bat-zh">中文</a>] [<a href="../doc/README-ja.md">日本語</a>] [<a href="../doc/README-ko.md">한국어</a>] [<a href="../doc/README-ru.md">Русский</a>]
|
||||
</p>
|
||||
|
||||
### 문법 강조
|
||||
|
||||
`bat`은 다양한 프로그래밍 언어와 마크업 언어에 대해 문법 강조(Syntax highlighting)기능을 지원하고 있습니다:
|
||||
`bat`은 다양한 프로그래밍 및 마크업 언어의 문법 강조(syntax highlighting) 기능을
|
||||
지원합니다:
|
||||
|
||||

|
||||
|
||||
### Git 통합
|
||||
|
||||
`bat`은 `git`을 통해 인덱스와 함께 변경분을 표시합니다 (왼쪽 바를 확인하세요):
|
||||
`bat`은 `git`을 통해 인덱스와 함께 변경분을 표시합니다
|
||||
(왼쪽 사이드바를 확인하세요):
|
||||
|
||||

|
||||
|
||||
### 표시할 수 없는 문자 처리
|
||||
### 비인쇄 문자 처리
|
||||
|
||||
`-A`/`--show-all` 옵션을 사용하여 표시할수 없는 문자를 시각화 해줍니다:
|
||||
`-A`/`--show-all` 옵션을 사용하여 비인쇄 문자를 표시 및 강조할 수 있습니다:
|
||||
|
||||

|
||||
|
||||
### 자동 페이징
|
||||
### 자동 페이징
|
||||
|
||||
하나의 화면에 비해 출력이 너무 큰 경우, `less` 를 이용해 출력들을 연결할 수 있습니다.
|
||||
`bat`은 기본적으로 한 화면에 비해 출력이 큰 경우 `less`와 같은 페이저(pager)로
|
||||
출력을 연결(pipe)합니다.
|
||||
만약 `bat`을 언제나 `cat`처럼 작동하게 하려면 (출력을 페이지하지 않기),
|
||||
`--paging=never` 옵션을 커맨드 라인이나 설정 파일에 넣을 수 있습니다.
|
||||
셸(shell) 설정에서 `cat`을 `bat`의 alias로 사용하려면,
|
||||
`alias cat='bat --paging=never'`를 써서 기본 행동을 유지할 수 있습니다.
|
||||
|
||||
### 파일 연결
|
||||
### 파일 연결(concatenation)
|
||||
|
||||
이 뿐만 아니라 파일을 연결할 때도 사용 할 수 있습니다. :wink: `bat`가 인터렉티브 하지 않은(non-interactive)가 감지하면 (예를 들어,다른 프로세스 혹은 파일과 파이프라인을 연결 한 경우) `bat`은 `cat`을 대신하여 동작하며 일반 파일 내용을 표기해줍니다.
|
||||
페이저(pager)를 사용하더라도 `bat`은 파일들을 연결(concatenate)할 수 있습니다
|
||||
:wink:.
|
||||
`bat`이 비대화형(non-interactive) 터미널(예를 들어, 다른 프로세스나 파일에
|
||||
연결(pipe)한 경우)을 감지하면, `bat`은 `--pager` 옵션의 값과 상관없이 `cat`과
|
||||
동일하게 파일 내용을 그대로 출력합니다.
|
||||
|
||||
## 사용법
|
||||
|
||||
터미널에서 하나의 파일 표시하기
|
||||
터미널에 하나의 파일 표시하기
|
||||
|
||||
```bash
|
||||
> bat README.md
|
||||
```
|
||||
|
||||
여러 파일 한번에 보여주기
|
||||
여러 파일 한 번에 보여주기
|
||||
|
||||
```bash
|
||||
> bat src/*.rs
|
||||
```
|
||||
|
||||
stdin에서 읽고, 자동으로 맞는 문법 강조 적용하기
|
||||
stdin에서 읽고, 자동으로 맞는 문법 결정하기 (참고로, 문법 강조는 파일의 첫
|
||||
줄만으로 문법이 결정될 수 있을 때만 작동합니다.
|
||||
이는 보통 `#!/bin/sh`와 같은 셔뱅(shebang)으로 판단합니다.)
|
||||
|
||||
```bash
|
||||
> curl -s https://sh.rustup.rs | bat
|
||||
```
|
||||
|
||||
stdin에서 읽고, 명시적으로 언어 지정하여 적용하기
|
||||
stdin에서 읽고, 명시적으로 언어 지정하기
|
||||
|
||||
```bash
|
||||
> yaml2json .travis.yml | json_pp | bat -l json
|
||||
```
|
||||
|
||||
표시할 수 없는 문자 처리하기
|
||||
비인쇄 문자 표시 및 강조하기
|
||||
```bash
|
||||
> bat -A /etc/hosts
|
||||
```
|
||||
@@ -86,23 +97,38 @@ bat -n main.rs # show line numbers (only)
|
||||
bat f - g # output 'f', then stdin, then 'g'.
|
||||
```
|
||||
|
||||
### 다른 툴과의 통합
|
||||
### 다른 도구들과 통합하기
|
||||
|
||||
#### `find` 와 `fd`
|
||||
#### `fzf`
|
||||
|
||||
`find`의 `-exec` 옵션을 사용하여 `bat`의 모든 검색 결과를 미리 볼 수 있습니다:
|
||||
`bat`을 [`fzf`](https://github.com/junegunn/fzf)의 프리뷰로 쓸 수 있습니다.
|
||||
이를 위해서는 `bat`의 `--color=always` 옵션으로 항상 컬러 출력이 나오게 해야
|
||||
합니다.
|
||||
또한 `--line-range` 옵션으로 긴 파일의 로드 시간을 제한할 수 있습니다:
|
||||
```bash
|
||||
fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'
|
||||
```
|
||||
더 많은 정보는
|
||||
[`fzf`의 `README`](https://github.com/junegunn/fzf#preview-window)를 참고하세요.
|
||||
|
||||
#### `find`와 `fd`
|
||||
|
||||
`find`의 `-exec` 옵션을 사용하여 모든 검색 결과를 `bat`로 미리 볼 수 있습니다:
|
||||
```bash
|
||||
find … -exec bat {} +
|
||||
```
|
||||
|
||||
[`fd`](https://github.com/sharkdp/fd)를 사용하고 있는 경우, `-X`/`--exec-batch` 옵션을 이용하여 동일하게 사용할 수 있습니다:
|
||||
[`fd`](https://github.com/sharkdp/fd)를 사용하는 경우, `-X`/`--exec-batch`
|
||||
옵션을 이용하여 동일하게 사용할 수 있습니다:
|
||||
```bash
|
||||
fd … -X bat
|
||||
```
|
||||
|
||||
#### `ripgrep`
|
||||
|
||||
[`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md)과 함께, [`ripgrep`](https://github.com/BurntSushi/ripgrep)의 검색 결과를 `bat`을 이용하여 볼 수 있습니다.
|
||||
[`batgrep`](https://github.com/eth-p/bat-extras/blob/master/doc/batgrep.md)을
|
||||
통해 `bat`로 [`ripgrep`](https://github.com/BurntSushi/ripgrep)의 검색 결과를
|
||||
출력할 수 있습니다.
|
||||
|
||||
```bash
|
||||
batgrep needle src/
|
||||
@@ -110,279 +136,393 @@ batgrep needle src/
|
||||
|
||||
#### `tail -f`
|
||||
|
||||
`bat` 과 `tail -f`를 함께 사용하여, 특정 파일을 문법 강조하며 지속적으로 모니터링 할 수 있습니다.
|
||||
`bat`와 `tail -f`를 함께 사용하여 주어진 파일을 문법 강조하며 지속적으로
|
||||
모니터할 수 있습니다.
|
||||
```bash
|
||||
tail -f /var/log/pacman.log | bat --paging=never -l log
|
||||
```
|
||||
이 작업을 하려면 페이징 기능을 꺼야합니다. 또, 자동 감지가 되지 않기 때문에, 적용되어야할 문법을 명시적(`-l log`)으로 지정해야 합니다.
|
||||
참고로 이 작업을 하려면 페이징 기능을 꺼야 합니다.
|
||||
또한 이 경우 문법을 자동 감지할 수 없기 때문에, 적용할 문법을 직접 지정해야
|
||||
합니다 (`-l log`).
|
||||
|
||||
#### `git`
|
||||
|
||||
`bat`과 `git show`를 함께 사용하여 주어진 파일의 이전 기록을 문법 강조와 함께 볼 수 있습니다:
|
||||
`bat`과 `git show`를 함께 사용하여 주어진 파일의 이전 버전을 올바른 문법 강조로
|
||||
볼 수 있습니다:
|
||||
```bash
|
||||
git show v0.6.0:src/main.rs | bat -l rs
|
||||
```
|
||||
|
||||
diffs 내에서 문법 강조 표시는 현재 지원되지 않습니다. 이 기능은 [`delta`](https://github.com/dandavison/delta)에서 찾아 볼 수 있습니다.
|
||||
#### `git diff`
|
||||
|
||||
`bat`과 `git diff`를 함께 사용하여 수정된 코드 주위의 줄들을 올바른 문법 강조로
|
||||
볼 수 있습니다:
|
||||
```bash
|
||||
batdiff() {
|
||||
git diff --name-only --diff-filter=d | xargs bat --diff
|
||||
}
|
||||
```
|
||||
이것을 별도의 도구로 쓰고 싶다면
|
||||
[`bat-extras`](https://github.com/eth-p/bat-extras)의 `batdiff`를 확인해 보세요.
|
||||
|
||||
Git과 diff의 더 많은 지원을 원한다면
|
||||
[`delta`](https://github.com/dandavison/delta)를 확인해 보세요.
|
||||
|
||||
#### `xclip`
|
||||
|
||||
`bat` 출력에서 라인 넘버와 Git 수정 내역이 같이 있어 파일 내용을 복사하기가 어려울 수도 있습니다. 이 경우에는 `-p`/`--plain` 옵션을 사용 하거나 출력 시 파이프라인으로 `xclip`을 사용하면 됩니다:
|
||||
`bat` 출력에 줄 번호와 Git 수정 내역이 포함되어서 파일의 내용을 복사하기
|
||||
어려울 수 있습니다.
|
||||
이 경우에는 `bat`의 `-p`/`--plain` 옵션을 사용하거나 간단히 `xclip`으로 출력을
|
||||
연결(pipe)하면 됩니다:
|
||||
```bash
|
||||
bat main.cpp | xclip
|
||||
```
|
||||
`bat` 에서는 리다이렉트된 것으로 감지하여, 파일 내용만 출력합니다.
|
||||
`bat`는 출력이 우회되고 있다는 것을 감지하여 파일 내용 그대로를 출력합니다.
|
||||
|
||||
#### `man`
|
||||
|
||||
`bat`은 `MANPAGER` 환경 변수 설정을 통해 `man`에 대하여 컬러 페이져를 사용할 수 있습니다:
|
||||
`MANPAGER` 환경 변수 설정을 통해 `bat`을 `man`의 컬러 페이저(pager)로 쓸 수
|
||||
있습니다.
|
||||
|
||||
```bash
|
||||
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||
man 2 select
|
||||
```
|
||||
(Debian이나 Ubuntu를 사용한다면 `bat`을 `batcat`으로 치환하세요.)
|
||||
|
||||
포매팅 문제가 발생한다면, `MANROFFOPT="-c"` 설정 해야 할 수도 있습니다 .
|
||||
포팻 문제가 발생한다면, `MANROFFOPT="-c"`을 써야 할 수 있습니다.
|
||||
|
||||
새 커맨드에서 이 번들을 사용하려면, [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md)을 이용 할 수 있습니다.
|
||||
이 기능을 포함한 새로운 명령어를 선호한다면,
|
||||
[`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md)을 쓸
|
||||
수도 있습니다.
|
||||
|
||||
참고로 [Manpage 문법](../assets/syntaxes/Manpage.sublime-syntax)은 본 저장소에서
|
||||
개발 중에 있으며, 아직 더 손봐야 합니다.
|
||||
|
||||
참고 : [Manpage syntax](../assets/syntaxes/Manpage.sublime-syntax)는 이 저장소에서 개발되고 있으며, 아직 작업 중 입니다.
|
||||
또한, 이는 Mandoc의 `man` 구현에서
|
||||
[작동하지 않습니다](https://github.com/sharkdp/bat/issues/1145).
|
||||
|
||||
#### `prettier` / `shfmt` / `rustfmt`
|
||||
|
||||
[`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) 스크립트는 코드를 포맷팅하고 `bat`으로 출력해주는 랩퍼(wrapper) 입니다.
|
||||
[`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md)
|
||||
스크립트는 코드를 포맷하고 `bat`으로 출력하는 래퍼(wrapper)입니다.
|
||||
|
||||
|
||||
## 설치
|
||||
|
||||
[](https://repology.org/project/bat/versions)
|
||||
[](https://repology.org/project/bat-cat/versions)
|
||||
|
||||
### On Ubuntu
|
||||
*... 그리고 기타 Debian 기반의 Linux 배포판들.*
|
||||
### Ubuntu에서 (`apt` 사용)
|
||||
*... 그리고 다른 Debian 기반의 Linux 배포판들에서.*
|
||||
|
||||
Ubuntu Eoan 19.10 혹은 Debian unstable sid 이후 버전 부터는 [Ubuntu용 `bat` 패키지](https://packages.ubuntu.com/eoan/bat)나 [Debian용 `bat` 패키지](https://packages.debian.org/sid/bat) 를 설치 할 수 있습니다.
|
||||
`bat`은 [Ubuntu](https://packages.ubuntu.com/eoan/bat)와
|
||||
[Debian](https://packages.debian.org/sid/bat) 패키지 배포 과정에 도입되는 중이며,
|
||||
Eoan 19.10 버전의 Ubuntu에서부터 제공됩니다.
|
||||
현재 Debain에서는 불안정한 "Sid" 브랜치에서만 `bat`이 제공됩니다.
|
||||
|
||||
만약 충분히 최신 버전의 Ubuntu/Debian이 설치되어 있다면 간단히 다음을 실행하세요:
|
||||
|
||||
```bash
|
||||
apt install bat
|
||||
```
|
||||
|
||||
만약 최근 릴리즈된 bat을 사용을 원하거나 buntu/Debian 예전 버전을 사용하는 경우, [릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 다음과 같이 `.deb` 패키지를 받아 설치 할 수도 있습니다:
|
||||
|
||||
```bash
|
||||
sudo dpkg -i bat_0.18.1_amd64.deb # adapt version number and architecture
|
||||
**중요**: 만약 `bat`을 이와 같이 설치한다면, ([다른 패키지와의 이름
|
||||
충돌](https://github.com/sharkdp/bat/issues/982)로 인하여) `bat` 대신에
|
||||
`batcat`이라는 이름의 실행 파일로 설치될 수 있음을 참고하세요.
|
||||
이에 따른 문제들과 다른 배포판들과의 일관성을 위하여 `bat -> batcat` symlink
|
||||
혹은 alias를 설정할 수 있습니다:
|
||||
``` bash
|
||||
mkdir -p ~/.local/bin
|
||||
ln -s /usr/bin/batcat ~/.local/bin/bat
|
||||
```
|
||||
|
||||
### On Alpine Linux
|
||||
### Ubuntu에서 (가장 최신 `.deb` 패키지들 사용)
|
||||
*... 그리고 다른 Debian 기반의 Linux 배포판들에서.*
|
||||
|
||||
공식 소스를 통해 [`bat` 패키지](https://pkgs.alpinelinux.org/packages?name=bat) 를 설치 할 수 있습니다:
|
||||
만약 여러분이 설치한 Ubuntu/Debian에 패키지가 배포되지 않거나 가장 최신 릴리즈된
|
||||
`bat`을 원한다면, [릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서
|
||||
다음과 같이 `.deb` 패키지를 받아 설치하세요:
|
||||
|
||||
```bash
|
||||
sudo dpkg -i bat_0.18.2_amd64.deb # adapt version number and architecture
|
||||
```
|
||||
|
||||
### Alpine Linux에서
|
||||
|
||||
적절한 저장소가 활성화되어 있다면, 공식 소스를 통해
|
||||
[`bat` 패키지](https://pkgs.alpinelinux.org/packages?name=bat)를 설치할 수
|
||||
있습니다:
|
||||
|
||||
```bash
|
||||
apk add bat
|
||||
```
|
||||
|
||||
### On Arch Linux
|
||||
### Arch Linux에서
|
||||
|
||||
공식 소스를 통해 [`bat` 패키지](https://www.archlinux.org/packages/community/x86_64/bat/)를 설치할 수 있습니다:
|
||||
공식 소스를 통해
|
||||
[`bat` 패키지](https://www.archlinux.org/packages/community/x86_64/bat/)를
|
||||
설치할 수 있습니다:
|
||||
|
||||
```bash
|
||||
pacman -S bat
|
||||
```
|
||||
|
||||
### On Fedora
|
||||
### Fedora에서
|
||||
|
||||
[공식 Fedora 모듈 저장소](https://docs.fedoraproject.org/en-US/modularity/using-modules/)에서 [`bat` 패키지](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506)을 설치할 수 있습니다:
|
||||
공식
|
||||
[Fedora 모듈](https://docs.fedoraproject.org/en-US/modularity/using-modules/)
|
||||
저장소에서
|
||||
[`bat` 패키지](https://koji.fedoraproject.org/koji/packageinfo?packageID=27506)를
|
||||
설치할 수 있습니다:
|
||||
|
||||
```bash
|
||||
dnf install bat
|
||||
```
|
||||
|
||||
### On Gentoo Linux
|
||||
### Gentoo Linux에서
|
||||
|
||||
공식 소스를 통해 [`bat` 패키지](https://packages.gentoo.org/packages/sys-apps/bat)를 설치할 수 있습니다.
|
||||
공식 소스를 통해
|
||||
[`bat` 패키지](https://packages.gentoo.org/packages/sys-apps/bat)를 설치할 수
|
||||
있습니다:
|
||||
|
||||
```bash
|
||||
emerge sys-apps/bat
|
||||
```
|
||||
|
||||
### On Void Linux
|
||||
### Void Linux에서
|
||||
|
||||
xbps-install를 이용해 `bat`을 설치할 수 있습니다:
|
||||
xbps-install을 이용해 `bat`을 설치할 수 있습니다:
|
||||
```bash
|
||||
xbps-install -S bat
|
||||
```
|
||||
|
||||
### On FreeBSD
|
||||
### Termux에서
|
||||
|
||||
pkg를 이용하여 미리 컴파일된 [`bat` 패키지](https://www.freshports.org/textproc/bat)를 설치할 수 있습니다:
|
||||
pkg를 이용해 `bat`을 설치할 수 있습니다:
|
||||
```bash
|
||||
pkg install bat
|
||||
```
|
||||
|
||||
### FreeBSD에서
|
||||
|
||||
pkg를 이용하여 미리 컴파일된
|
||||
[`bat` 패키지](https://www.freshports.org/textproc/bat)를 설치할 수 있습니다:
|
||||
|
||||
```bash
|
||||
pkg install bat
|
||||
```
|
||||
|
||||
또는 FreeBSD 포트에서 직접 빌드할 수도 있습니다:
|
||||
또는 FreeBSD 포트에서 직접 빌드할 수도 있습니다:
|
||||
|
||||
```bash
|
||||
cd /usr/ports/textproc/bat
|
||||
make install
|
||||
```
|
||||
|
||||
### Via nix
|
||||
### nix를 써서
|
||||
|
||||
[nix package manager](https://nixos.org/nix)를 이용해 `bat`을 설치할 수 있습니다:
|
||||
[nix package manager](https://nixos.org/nix)를 이용해 `bat`을 설치할 수
|
||||
있습니다:
|
||||
|
||||
```bash
|
||||
nix-env -i bat
|
||||
```
|
||||
|
||||
### On openSUSE
|
||||
### openSUSE에서
|
||||
|
||||
zypper을 이용해 `bat`을 설치할 수 있습니다:
|
||||
zypper를 이용해 `bat`을 설치할 수 있습니다:
|
||||
|
||||
```bash
|
||||
zypper install bat
|
||||
```
|
||||
|
||||
### On macOS
|
||||
### snap 패키지를 써서
|
||||
|
||||
[Homebrew](http://braumeister.org/formula/bat)를 이용해 `bat`을 설치할 수 있습니다:
|
||||
지금으로서는 추천하는 snap 패키지가 없습니다.
|
||||
제공되는 패키지들이 존재할 수는 있지만, 공식적으로 지원되지 않으며
|
||||
[문제](https://github.com/sharkdp/bat/issues/1519)가 있을 수 있습니다.
|
||||
|
||||
|
||||
### macOS (또는 Linux)에서 Homebrew를 써서
|
||||
|
||||
[macOS의 Homebrew](https://formulae.brew.sh/formula/bat) 또는
|
||||
[Linux의 Homebrew](https://formulae.brew.sh/formula-linux/bat)를 이용하여
|
||||
`bat`을 설치할 수 있습니다.
|
||||
|
||||
```bash
|
||||
brew install bat
|
||||
```
|
||||
|
||||
또는 [MacPorts](https://ports.macports.org/port/bat/summary)를 사용할 수도 있습니다:
|
||||
### macOS에서 MacPorts를 써서
|
||||
|
||||
[MacPorts](https://ports.macports.org/port/bat/summary)를 이용하여 `bat`을
|
||||
설치할 수 있습니다:
|
||||
|
||||
```bash
|
||||
port install bat
|
||||
```
|
||||
|
||||
### On Windows
|
||||
### Windows에서
|
||||
|
||||
Windows에서 `bat`을 설치할 수 있는 몇 가지 옵션들이 있습니다. 먼저 `bat`을 설치 한 후, ["Windows에서 사용하기"](#Windows에서-사용하기) 참고하시기 바랍니다.
|
||||
Windows에서 `bat`을 설치할 수 있는 몇 가지 옵션들이 있습니다.
|
||||
먼저 `bat`을 설치한 후,
|
||||
["Windows에서 `bat` 사용하기"](#windows에서-bat-사용하기) 섹션을 살펴보세요.
|
||||
|
||||
#### With Chocolatey
|
||||
#### 전제 조건
|
||||
|
||||
[Chocolatey](https://chocolatey.org/packages/Bat)를 이용해 `bat`을 설치할 수 있습니다:
|
||||
[Visual C++ 재배포 가능](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
|
||||
패키지를 설치해야 합니다.
|
||||
|
||||
#### Chocolatey를 써서
|
||||
|
||||
[Chocolatey](https://chocolatey.org/packages/Bat)를 이용해 `bat`을 설치할 수
|
||||
있습니다:
|
||||
```bash
|
||||
choco install bat
|
||||
```
|
||||
|
||||
#### With Scoop
|
||||
#### Scoop을 써서
|
||||
|
||||
[scoop](https://scoop.sh/)을 이용해 `bat`을 설치할 수 있습니다:
|
||||
```bash
|
||||
scoop install bat
|
||||
```
|
||||
[Visual C++ Redistributable 패키지](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)를 같이 설치해 주어야 합니다.
|
||||
|
||||
#### From prebuilt binaries:
|
||||
#### 사전 빌드된 바이너리들로
|
||||
|
||||
[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 빌드된 바이너리를 다운받을 수 있습니다.
|
||||
[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 사전 빌드된
|
||||
바이너리를 다운받을 수 있습니다.
|
||||
|
||||
[Visual C++ Redistributable 패키지](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)를 같이 설치해 주어야 합니다.
|
||||
[Visual C++ 재배포 가능](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
|
||||
패키지를 설치해야 합니다.
|
||||
|
||||
### Via Docker
|
||||
### 바이너리들로
|
||||
|
||||
컨테이너에서 `bat`을 사용할 수 있는 [Docker image](https://hub.docker.com/r/danlynn/bat/)가 있습니다.:
|
||||
```bash
|
||||
docker pull danlynn/bat
|
||||
alias bat='docker run -it --rm -e BAT_THEME -e BAT_STYLE -e BAT_TABS -v "$(pwd):/myapp" danlynn/bat'
|
||||
```
|
||||
[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 다양한 아키텍처를
|
||||
위해 사전 빌드된 버전들을 확인할 수 있습니다.
|
||||
정적 링크 바이너리들은 파일 이름에 `musl` 이 포함된 아카이브들을 확인하세요.
|
||||
|
||||
### Via Ansible
|
||||
### 소스에서
|
||||
|
||||
[Ansible](https://www.ansible.com/)을 사용해 `bat`을 설치할 수 있습니다:
|
||||
|
||||
```bash
|
||||
# Install role on local machine
|
||||
ansible-galaxy install aeimer.install_bat
|
||||
```
|
||||
|
||||
```yaml
|
||||
---
|
||||
# Playbook to install bat
|
||||
- host: all
|
||||
roles:
|
||||
- aeimer.install_bat
|
||||
```
|
||||
|
||||
- [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat)
|
||||
- [GitHub](https://github.com/aeimer/ansible-install-bat)
|
||||
|
||||
다음 배포판들에서 동작합니다:
|
||||
- Debian/Ubuntu
|
||||
- ARM (eg. Raspberry PI)
|
||||
- Arch Linux
|
||||
- Void Linux
|
||||
- FreeBSD
|
||||
- MacOS
|
||||
|
||||
### From binaries
|
||||
|
||||
[릴리즈 페이지](https://github.com/sharkdp/bat/releases)에서 다양한 환경을 위해 빌드된 버전들을 확인 할 수 있습니다. 정적 링크 바이너리들은 아카이브에서 파일 이름에 `musl` 이 포함 파일로 확인 할 수 있습니다.
|
||||
|
||||
### From source
|
||||
|
||||
`bat`의 소스를 직접 빌드하기 위해서는, Rust 1.36 이상이 필요하며 `cargo`를 이용해 빌드할 수 있습니다.
|
||||
`bat`의 소스를 빌드하기 위해서는, Rust 1.45 이상이 필요합니다.
|
||||
`cargo`를 이용해 전부 빌드할 수 있습니다:
|
||||
|
||||
```bash
|
||||
cargo install --locked bat
|
||||
```
|
||||
|
||||
일부 플랫폼에서는 `llvm` 그리고/또는 `libclang-dev` 설치가 필요할 수도 있습니다.
|
||||
참고로 man 페이지나 셸 자동 완성 파일과 같은 부가 파일들은 이 방법으로 설치될 수
|
||||
없습니다.
|
||||
이것들은 `cargo`에 의해 생성이 되고 (`build` 밑의) cargo 타켓 폴더에서 찾을 수
|
||||
있습니다.
|
||||
|
||||
## 커스터마이즈
|
||||
## 사용자화
|
||||
|
||||
### 문법 강조 테마
|
||||
### 문법 강조 테마
|
||||
|
||||
`bat --list-themes`을 사용하면, 현재 사용 가능한 문법 강조 테마들을 확인할 수 있습니다. `TwoDark` 테마 선택하는 경우, `--theme=TwoDark` 옵션과 함께 `bat`을 사용하거나 환경변수에서 `BAT_THEME`를 `TwoDark`로 세팅해주면 됩니다. 쉘 시작 파일에 `export BAT_THEME="TwoDark"` 를 정의해 계속 사용도 가능합니다. 이 밖에 `bat`의 [설정 파일](#설정-파일)을 이용할 수도 있습니다.
|
||||
`bat --list-themes`을 사용하여 사용 가능한 문법 강조 테마들의 목록을 확인할 수
|
||||
있습니다.
|
||||
`TwoDark` 테마를 선택하려면, `--theme=TwoDark` 옵션과 함께 `bat`을 사용하거나
|
||||
`BAT_THEME` 환경 변수를 `TwoDark`로 설정하세요.
|
||||
셸 시작 파일에 `export BAT_THEME="TwoDark"` 를 정의해 영구적으로 설정할 수
|
||||
있습니다.
|
||||
이 밖에 `bat`의 [설정 파일](#설정-파일)을 이용할 수 있습니다.
|
||||
|
||||
다른 테마를 미리 보고 싶은경우 다음 명령어와 같이 사용할 수 있습니다.(이 경우 [`fzf`](https://github.com/junegunn/fzf)가 필요합니다.)
|
||||
만약 다른 테마들을 사용하여 특정 파일을 보고 싶다면, 다음 명령어를 쓸 수
|
||||
있습니다(이 경우 [`fzf`](https://github.com/junegunn/fzf)가 필요합니다.)
|
||||
|
||||
```bash
|
||||
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
|
||||
```
|
||||
`bat`의 기본 테마는 어두운 배경색 터미널에 적합합니다. 만일 밝은 배경색을 사용할 경우에는 `GitHub` 이나 `OneHalfLight` 과 같은 테마가 더 잘 어울립니다. 아래 [새로운 테마 추가하기](#새로운-테마-추가하기)에 따라 커스텀 테마를 사용할수도 있습니다.
|
||||
|
||||
`bat`은 기본적으로 어두운 배경에 적합합니다.
|
||||
그러나 밝은 배경의 터미널을 사용한다면 `GitHub`이나 `OneHalfLight`과 같은 테마가
|
||||
더 잘 어울립니다.
|
||||
아래 [새로운 테마 추가하기](#새로운-테마-추가하기) 섹션에 따라 커스텀 테마를
|
||||
사용할 수도 있습니다.
|
||||
|
||||
### 8비트 테마
|
||||
|
||||
`bat`은 트루컬러 지원이 되더라도 항상
|
||||
[8비트 색상](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors)을 사용하는
|
||||
세 개의 테마가 있습니다.
|
||||
|
||||
- `ansi`는 어떤 터미널에서도 무난하게 보입니다. 이는 3비트 색상을 사용합니다:
|
||||
검정, 빨강, 녹색, 노랑, 파랑, 마젠타, 시안, 하양.
|
||||
- `base16`은 [base16](https://github.com/chriskempson/base16) 터미널 테마를 위해
|
||||
디자인되었습니다.
|
||||
이는 [base16 스타일 가이드라인](https://github.com/chriskempson/base16/blob/master/styling.md)에
|
||||
따라 4비트 색상(3비트 색상에 밝은 변형 추가)을 사용합니다.
|
||||
- `base16-256`는 [base16-shell](https://github.com/chriskempson/base16-shell)을
|
||||
위해 디자인되었습니다.
|
||||
이는 16부터 21의 일부 밝은 색상을 8비트 색상으로 대치합니다.
|
||||
단지 256-색상 터미널을 쓰지만 base16-shell을 쓰지 않는다고 해서 이것을
|
||||
사용하지 **마십시오**.
|
||||
|
||||
이들 테마는 더 제한적이지만, 트루컬러 테마에 비해 두 장점이 있습니다:
|
||||
|
||||
- 이들은 3비트 혹은 4비트 색상을 쓰는 다른 터미널 소프트웨어와 더 잘
|
||||
어울립니다.
|
||||
- 만약 터미널 테마를 바꾼다면, 이미 화면 상의 `bat`의 출력도 이에 맞추어
|
||||
업데이트됩니다.
|
||||
|
||||
### 출력 스타일
|
||||
|
||||
`--style` 옵션을 이용하여 `bat`의 출력 스타일을 변경 할 수 있습니다. 예를 들어, `--style=numbers,changes`는 Git 변경분과 라인 넘버에 대해서만 출력하며 눈금과 파일 헤더가 표시되지 않습니다. `BAT_STYLE` 환경 변수로 정의하여 계속해서 사용하거나`bat`의 [설정 파일](#설정-파일)을 사용할 수도 있습니다.
|
||||
`--style` 옵션을 이용하면 `bat`의 출력 모양을 조절할 수 있습니다.
|
||||
예를 들어, `--style=numbers,changes`를 통해 Git 변경분과 줄 번호는 출력하지만
|
||||
격자와 파일 헤더는 출력하지 않을 수 있습니다.
|
||||
`BAT_STYLE` 환경 변수를 정의하여 이러한 수정을 영구적으로 하거나 `bat`의
|
||||
[설정 파일](#설정-파일)을 사용하세요.
|
||||
|
||||
### 새로운 문법 강조 / 언어 추가하기
|
||||
### 새로운 문법 / 언어 정의 추가하기
|
||||
|
||||
`bat`은 문법 강조를 위해 [`syntect`](https://github.com/trishume/syntect/) 라이브러리를 사용하고 있습니다. `syntect`는 [Sublime Text의 `.sublime-syntax` 파일](https://www.sublimetext.com/docs/3/syntax.html)과 테마를 읽을 수 있습니다. 새로운 문법 강조를 추가하는 방법은 다음과 같습니다.
|
||||
만약 `bat`에서 특정 문법이 지원되지 않을 경우, 다음의 절차를 통해 현재 `bat`
|
||||
설치본에 새로운 문법을 쉽게 추가할 수 있습니다.
|
||||
|
||||
우선 문법 정의 파일을 넣을 폴더를 만듭니다:
|
||||
`bat`은 문법 강조를 위해 훌륭한
|
||||
[`syntect`](https://github.com/trishume/syntect/) 라이브러리를 사용합니다.
|
||||
`syntect`는 임의의 [Sublime Text의 `.sublime-syntax`
|
||||
파일](https://www.sublimetext.com/docs/3/syntax.html)과 테마를 읽을 수 있습니다.
|
||||
|
||||
```bash
|
||||
mkdir -p "$(bat --config-dir)/syntaxes"
|
||||
cd "$(bat --config-dir)/syntaxes"
|
||||
[Package Control](https://packagecontrol.io/)에 Sublime 문법 패키지를 찾는
|
||||
방법이 잘 정리되어 있습니다.
|
||||
일단 문법을 찾았다면:
|
||||
|
||||
# Put new '.sublime-syntax' language definition files
|
||||
# in this folder (or its subdirectories), for example:
|
||||
git clone https://github.com/tellnobody1/sublime-purescript-syntax
|
||||
```
|
||||
1. 문법 정의 파일들을 넣을 폴더를 만듭니다:
|
||||
|
||||
다음 명령어를 통해 파일을 바이너리 캐시로 파싱합니다.
|
||||
```bash
|
||||
mkdir -p "$(bat --config-dir)/syntaxes"
|
||||
cd "$(bat --config-dir)/syntaxes"
|
||||
|
||||
```bash
|
||||
bat cache --build
|
||||
```
|
||||
# Put new '.sublime-syntax' language definition files
|
||||
# in this folder (or its subdirectories), for example:
|
||||
git clone https://github.com/tellnobody1/sublime-purescript-syntax
|
||||
```
|
||||
|
||||
마지막으로 `bat --list-languages`을 통해 새로운 언어가 사용 가능한지 확인합니다.
|
||||
2. 이제 다음 명령어를 통해 파일들을 파싱(parse)하여 바이너리 캐시를 만듭니다.
|
||||
|
||||
기본 설정으로 돌아가려면, 다음 명령어를 이용합니다.:
|
||||
```bash
|
||||
bat cache --build
|
||||
```
|
||||
|
||||
```bash
|
||||
bat cache --clear
|
||||
```
|
||||
3. 마지막으로, `bat --list-languages`로 새로 추가한 언어가 사용 가능한지
|
||||
확인합니다.
|
||||
|
||||
만약 기본 설정으로 돌아갈 일이 생긴다면, 다음 명령어를 이용합니다:
|
||||
|
||||
```bash
|
||||
bat cache --clear
|
||||
```
|
||||
|
||||
4. 만약 특정 문법이 `bat`에 기본적으로 포함되어 있어야 한다고 생각한다면, 방침과
|
||||
절차를 [여기](../doc/assets.md)서 읽은 후 "문법 요청(syntax request)"을 열어
|
||||
주세요: [문법 요청하기](https://github.com/sharkdp/bat/issues/new?labels=syntax-request&template=syntax_request.md).
|
||||
|
||||
### 새로운 테마 추가하기
|
||||
|
||||
새로운 문법 정의 추가와 매우 유사합니다.
|
||||
이 과정은 새로운 문법 정의 추가 방식과 매우 비슷합니다.
|
||||
|
||||
먼저, 새로운 문법 강조 테마 폴더를 만듭니다.
|
||||
먼저, 새로운 문법 강조 테마 폴더를 만듭니다.
|
||||
```bash
|
||||
mkdir -p "$(bat --config-dir)/themes"
|
||||
cd "$(bat --config-dir)/themes"
|
||||
@@ -394,32 +534,93 @@ git clone https://github.com/greggb/sublime-snazzy
|
||||
bat cache --build
|
||||
```
|
||||
|
||||
마지막으로 `bat --list-themes`을 통해 새로운 테마가 사용 가능한지 확인합니다.
|
||||
마지막으로 `bat --list-themes`을 통해 새로 추가한 테마들이 사용 가능한지
|
||||
확인합니다.
|
||||
|
||||
### 다른 페이져 사용하기
|
||||
### 파일 타입 설정을 추가하거나 변경하기
|
||||
|
||||
`bat`은 환경변수 `PAGER`로 사용할 페이져를 명시합니다. 만약 이 변수가 정의되어있지 않다면 `less`가 기본입니다. 만약 다른 페이져를 사용하고 싶다면 `PAGER` 변수를 수정하거나 `BAT_PAGER` 환경 변수로 `PAGER` 대신 정의 할 수도 있습니다.
|
||||
새로운 파일 이름 패턴을 추가하려면 (혹은 이미 존재하는 것을 변경하려면)
|
||||
`--map-syntax` 커맨드 라인 옵션을 사용하세요.
|
||||
이 옵션은 `pattern:syntax` 꼴의 인자를 받습니다.
|
||||
이때 `pattern`은 파일 이름과 절대 파일 경로를 매치할 글로브(glob) 패턴입니다.
|
||||
`syntax` 부분은 지원되는 언어의 전체 이름입니다
|
||||
(`bat --list-languages`를 통해 개요를 확인하세요).
|
||||
|
||||
만약 커맨드라인 인수로 넘기려면, `PAGER`/`BAT_PAGER` 변수를 정의를 통해 사용 할 수 있습니다. :
|
||||
참고: 이 옵션은 커맨드 라인에 넘겨 주는 것보다는 `bat`의 설정 파일에 넣는 것이
|
||||
좋을 것입니다 (아래를 보세요).
|
||||
|
||||
예시: "INI" 문법 강조를 `.conf` 파일 확장자의 모든 파일에 적용하려면, 다음을
|
||||
사용하세요:
|
||||
```bash
|
||||
--map-syntax='*.conf:INI'
|
||||
```
|
||||
|
||||
예시: `.ignore`(완전 일치)이라는 이름의 모든 파일을 "Git Ignore" 문법으로
|
||||
열려면, 다음을 사용하세요:
|
||||
```bash
|
||||
--map-syntax='.ignore:Git Ignore'
|
||||
```
|
||||
|
||||
예시: `/etc/apache2`의 하위 폴더들에 있는 모든 `.conf` 파일들을 "Apache Conf"
|
||||
문법으로 열려면, 다음을 사용하세요 (이 대응(mapping)은 이미 내장되어 있습니다):
|
||||
```bash
|
||||
--map-syntax='/etc/apache2/**/*.conf:Apache Conf'
|
||||
```
|
||||
|
||||
### 다른 페이저 사용하기
|
||||
|
||||
`bat`은 환경 변수 `PAGER`에 명시된 페이저를 사용합니다.
|
||||
이 변수가 정의되어 있지 않다면, `less`가 기본으로 사용됩니다.
|
||||
만약 다른 페이저를 사용하고 싶다면, `PAGER` 변수를 수정하거나 `BAT_PAGER` 환경
|
||||
변수를 설정하여 `PAGER`의 설정을 오버라이드(override)할 수 있습니다.
|
||||
|
||||
만약 커맨드라인 인수들을 페이저에게 넘겨 주려면, `PAGER`/`BAT_PAGER` 변수로
|
||||
설정할 수 있습니다:
|
||||
|
||||
```bash
|
||||
export BAT_PAGER="less -RF"
|
||||
```
|
||||
|
||||
환경 변수 대신, `bat`의 [설정 파일](#설정-파일)에서 페이져를 설정 할 수도 있습니다.(`--pager` 옵션)
|
||||
환경 변수를 사용하는 대신, `bat`의 [설정 파일](#설정-파일)로 페이저를 설정할
|
||||
수도 있습니다 (`--pager` 옵션).
|
||||
|
||||
**참고**: 기본적으로 페이져가 `less`로 설정 되어있다면, `bat`은 다음 옵션들을 받을 수 있습니다: `-R`/`--RAW-CONTROL-CHARS`,
|
||||
`-F`/`--quit-if-one-screen` 그리고 `-X`/`--no-init`. 마지막 옵션(`-X`)은 530 이전 버전에서만 사용됩니다.
|
||||
**참고**: 기본적으로, 페이저가 `less`로 설정되어 있다면 (그리고 커맨드 라인
|
||||
옵션이 지정되어 있지 않다면), `bat`은 다음 옵션들을 페이저로 넘겨줍니다:
|
||||
`-R`/`--RAW-CONTROL-CHARS`, `-F`/`--quit-if-one-screen` 그리고 `-X`/`--no-init`.
|
||||
마지막 옵션(`-X`)은 530 이전 버전의 `less`에만 사용됩니다.
|
||||
|
||||
`-R` 옵션은 ANSI 컬러를 올바르게 해석하기 위해 필요합니다. 두번째 옵션 (`-F`)은 출력 크기가 터미널의 세로 크기보다 작을 경우 즉시 종료되도록 합니다.
|
||||
페이져를 종료하기 위해 `q`를 누를 필요 없기 때문에 작은 파일을 다룰 때 용이합니다. 세번째 옵션(`-X`)는 `less` 이전 버전의 `--quit-if-one-screen` 기능과 함께 버그를 잡을 때 필요합니다. 안타깝게도, `less`의 마우스 휠 지원은 종료합니다.
|
||||
`-R` 옵션은 ANSI 색상을 올바르게 해석하기 위해 필요합니다.
|
||||
두 번째 옵션(`-F`)은 출력 크기가 터미널의 세로 크기보다 작을 경우 less가 즉시
|
||||
종료되도록 합니다.
|
||||
이는 작은 파일을 다룰 때 페이저를 종료하기 위해 `q`를 누를 필요 없어서
|
||||
편리합니다.
|
||||
세 번째 옵션(`-X`)는 예전 버전의 `less`에 있는 `--quit-if-one-screen` 기능의
|
||||
버그를 고치기 위해 필요합니다.
|
||||
안타깝게도, 이는 `less`의 마우스 휠 지원과 호환되지 않습니다.
|
||||
|
||||
`less` 예전 버전에서 마우스 휠 기능을 활성화 시키려면, `-R` 옵션을 사용하면 됩니다. (위의 예제처럼, 이 옵션은 quit-if-one-screen 기능을 비활성화 시킵니다.)
|
||||
530 이하 버전에서는 그대로 사용할 수 있습니다.
|
||||
`less`의 예전 버전에서 마우스 휠 기능을 활성화하려면, `-R` 옵션을 넘겨주세요
|
||||
(위의 예제처럼, 이 옵션은 quit-if-one-screen 기능을 비활성화합니다).
|
||||
less 530과 이후 버전에서는 그대로 사용할 수 있습니다.
|
||||
|
||||
### 들여쓰기
|
||||
|
||||
`bat`은 페이저에 의존하지 않고 탭을 4 스페이스로 확장합니다.
|
||||
이를 변경하려면 간단히 `--tabs` 인자에 표시되기를 원하는 스페이스 개수를
|
||||
추가하세요.
|
||||
|
||||
**참고**: (`bat`의 `--pager` 인자 혹은 `less`의 `LESS` 환경 변수를 통해)
|
||||
페이저의 탭 길이를 지정하는 것은 효과가 없을 것인데, 이는 페이저가 이미
|
||||
스페이스로 확장된 탭을 받기 때문입니다.
|
||||
이 기능은 사이드바에 의한 들여쓰기 문제를 회피하기 위해 추가되었습니다.
|
||||
`bat`을 `--tabs=0`과 함께 호출하면 이를 오버라이드하여 페이저가 탭을 처리하게
|
||||
합니다.
|
||||
|
||||
### 다크 모드
|
||||
|
||||
macOS에서 다크 모드를 사용하고 있다면, OS 테마에 따라 다른 테마를 사용하도록 `bat`의 구성할 수 있습니다. 아래 코드는 라이트 모드에서는 `default` 테마를 다크모드에서는 `Github` 테마를 사용하는 방법입니다.
|
||||
macOS에서 다크 모드를 사용하고 있다면, `bat`가 OS 테마에 따라 다른 테마를
|
||||
사용하도록 구성할 수 있습니다.
|
||||
아래 스니펫은 _다크 모드_에서는 `default` 테마를, _라이트 모드_에서는 `GitHub`
|
||||
테마를 사용하는 방법입니다.
|
||||
|
||||
```bash
|
||||
alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
|
||||
@@ -427,57 +628,89 @@ alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /de
|
||||
|
||||
## 설정 파일
|
||||
|
||||
`bat` 설정 파일로 커스터마이즈 할 수 있습니다. 파일의 위치는 운영 체제에 따라 다릅니다. 아래 커맨드를 통해 시스템의 기본 경로를 알 수 있습니다.
|
||||
`bat`는 설정 파일로도 사용자화 할 수 있습니다.
|
||||
설정 파일의 위치는 운영 체제에 따라 다릅니다.
|
||||
아래 커맨드를 통해 시스템의 기본 경로를 확인할 수 있습니다.
|
||||
```
|
||||
bat --config-file
|
||||
```
|
||||
|
||||
또는, `BAT_CONFIG_PATH` 환경 변수를 사용하여 `bat`의 설정 파일 위치를 지정할 수 있습니다.
|
||||
또는, `BAT_CONFIG_PATH` 환경 변수를 사용하여 `bat`가 설정 파일의 기본 경로
|
||||
이외의 위치를 사용하도록 할 수 있습니다.
|
||||
```bash
|
||||
export BAT_CONFIG_PATH="/path/to/bat.conf"
|
||||
```
|
||||
|
||||
### 포맷
|
||||
|
||||
설정 파일은 명령어 인수들의 리스트 입니다. `bat --help`를 이용하여 가능한 옵션들과 값들을 확인해 볼 수 있습니다. 또, `#` 으로 주석을 추가할수도 있습니다.
|
||||
|
||||
설정 파일의 예:
|
||||
기본 설정 파일은 `--generate-config-file` 옵션으로 생성할 수 있습니다.
|
||||
```bash
|
||||
# Set the theme to "TwoDark"
|
||||
--theme="TwoDark"
|
||||
|
||||
# Show line numbers, Git modifications and file header (but no grid)
|
||||
--style="numbers,changes,header"
|
||||
|
||||
# Use italic text on the terminal (not supported on all terminals)
|
||||
--italic-text=always
|
||||
|
||||
# Use C++ syntax for .ino files
|
||||
--map-syntax "*.ino:C++"
|
||||
|
||||
# Use ".gitignore"-style highlighting for ".ignore" files
|
||||
--map-syntax ".ignore:Git Ignore"
|
||||
bat --generate-config-file
|
||||
```
|
||||
|
||||
## Windows에서 사용하기
|
||||
### 포맷
|
||||
|
||||
`bat` 대부분의 경우 Windows에서 기본적으로 잘 작동하지만, 일부 기능에는 추가 적인 구성이 필요할 수 있습니다.
|
||||
설정 파일은 단순히 커맨드 라인 인자들의 리스트입니다.
|
||||
`bat --help`로 가능한 모든 옵션과 값들을 확인하세요.
|
||||
추가적으로, 줄 앞에 `#` 문자를 추가해 주석을 넣을 수 있습니다.
|
||||
|
||||
### 페이징
|
||||
설정 파일 예시:
|
||||
```bash
|
||||
# "TwoDark" 테마 설정하기
|
||||
--theme="TwoDark"
|
||||
|
||||
Windows는 `more` 형식의 매우 제한된 페이저만이 포함되어있습니다. `less`용 Windows 바이너리는 [이 홈페이지](http://www.greenwoodsoftware.com/less/download.html)나 [Chocolatey](https://chocolatey.org/packages/Less)에서 다운로드 받을 수 있습니다. 이를 사용하려면 바이너리를 `PATH` 디렉토리에 배치하거나 [환경 변수로 정의](#using-a-different-pager) 하세요. [Chocolatey 패키지](#on-windows)로 `less`를 자동으로 설치할 수 있습니다.
|
||||
# 줄 번호, Git 변경 내용, 파일 헤더 보이기 (격자 없이)
|
||||
--style="numbers,changes,header"
|
||||
|
||||
# 터미널에서 이탤릭체 쓰기 (일부 터미널에서 미지원)
|
||||
--italic-text=always
|
||||
|
||||
# .ino 파일에 C++ 문법 쓰기
|
||||
--map-syntax "*.ino:C++"
|
||||
```
|
||||
|
||||
## Windows에서 `bat` 사용하기
|
||||
|
||||
`bat`는 대부분의 경우 Windows에서 기본적으로 잘 작동하지만, 일부 기능은 추가적인
|
||||
구성이 필요할 수 있습니다.
|
||||
|
||||
#### 전제 조건
|
||||
|
||||
[Visual C++ 재배포 가능](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
|
||||
패키지를 설치해야 합니다.
|
||||
|
||||
### 페이징
|
||||
|
||||
Windows는 `more` 형식의 매우 제한된 페이저만 포함합니다.
|
||||
Windows용 `less` 바이너리는
|
||||
[공식 홈페이지](http://www.greenwoodsoftware.com/less/download.html)나
|
||||
[Chocolatey](https://chocolatey.org/packages/Less)를 통해 다운로드 받을 수
|
||||
있습니다.
|
||||
이를 사용하려면 디렉터리 안의 바이너리를 `PATH`에 넣거나
|
||||
[환경 변수로 정의](#using-a-different-pager)하세요.
|
||||
[Chocolatey 패키지](#on-windows)는 `less`를 자동으로 설치합니다.
|
||||
|
||||
### 색상
|
||||
|
||||
Windows 10은 기본 내장기능으로 [v1511](https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1511_(November_Update)) 이후의 `conhost.exe`(Command Prompt) 와 PowerShell, 그리고 최신 버전의 bash에서 색상을 지원합니다. 이전 버전의 Windows에서는, [ConEmu](https://conemu.github.io/)가 포함 된 [Cmder](http://cmder.net/)를 사용할 수 있습니다 .
|
||||
Windows 10은
|
||||
[v1511](https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1511_(November_Update))부터
|
||||
기본적으로 `conhost.exe`(Command Prompt)와 PowerShell에서 색상을 지원하며,
|
||||
최신 버전의 bash에서도 색상을 지원합니다.
|
||||
이전 버전의 Windows에서는, [ConEmu](https://conemu.github.io/)가 포함된
|
||||
[Cmder](http://cmder.net/)를 사용할 수 있습니다.
|
||||
|
||||
**참고:** `less`의 Git과 MSYS 버전은 Windows에서 색상을 올바르게 해석하지 않습니다. 다른 페이져가 설치되어 있지 않은 경우, `--paging=never` 하거나 `BAT_PAGER`를 빈 문자열로 설정하여 페이징을 완전히 비활성화 할 수 있습니다 .
|
||||
**참고:** Git과 MSYS 버전의 `less`는 Windows에서 색상을 올바르게 해석하지
|
||||
않습니다.
|
||||
다른 페이저가 설치되어 있지 않은 경우, `--paging=never`을 넘겨주거나
|
||||
`BAT_PAGER`을 빈 문자열로 설정하여 페이징을 완전히 비활성화 할 수 있습니다.
|
||||
|
||||
### Cygwin
|
||||
|
||||
Windows에서의 `bat`은 기본적으로 Cygwin의 unix 스타일의 경로(`/cygdrive/*`)를 지원하지 않습니다. cygwin 절대경로를 인자로 받았을 때, `bat`은 다음과 같이 오류를 반환합니다. `:The system cannot find the path specified. (os error 3)`
|
||||
Windows에서의 `bat`은 기본적으로 Cygwin의 unix 스타일 경로(`/cygdrive/*`)를
|
||||
지원하지 않습니다.
|
||||
Cygwin 절대 경로를 인자로 받았을 때, `bat`은 다음과 같은 오류를 반환합니다:
|
||||
`The system cannot find the path specified. (os error 3)`
|
||||
|
||||
이 경우, wrapper를 만들거나 다음 함수를 `.bash_profile`추가하여 문제를 해결하실 수 있습니다 :
|
||||
이는 wrapper를 만들거나 다음 함수를 `.bash_profile`에 추가하여 해결할 수
|
||||
있습니다:
|
||||
|
||||
```bash
|
||||
bat() {
|
||||
@@ -493,68 +726,94 @@ bat() {
|
||||
}
|
||||
```
|
||||
|
||||
## 트러블슈팅
|
||||
## 문제 해결
|
||||
|
||||
### 터미널과 색상
|
||||
|
||||
`bat`은 터미널 트루컬러 지원 여부와 상관없이 동작합니다. 하지만, 문법 강조 테마의 색상이 8-bit 컬러에는 최적화 되어 있지 않고 있으며, 24-bit 트루컬러 지원하는 터미널 사용하는 것을 적극 권장합니다.(`terminator`, `konsole`, `iTerm2`, ...). [이 글](https://gist.github.com/XVilka/8346728)에서 24-bit 트루컬러 지원하는 터미널들을 찾아보실 수 있습니다.
|
||||
`bat`은 터미널의 트루컬러 지원 여부와 상관 없이 동작합니다.
|
||||
그러나 대부분 문법 강조 테마의 색상은 8비트 색상에 최적화되어 있지 않습니다.
|
||||
따라서 24비트 트루컬러 지원이 되는 터미널(`terminator`, `konsole`, `iTerm2`,
|
||||
...)을 사용하는 것을 적극 권장합니다.
|
||||
트루컬러를 지원하는 터미널들과 더 자세한 정보는
|
||||
[이 글](https://gist.github.com/XVilka/8346728)에서 찾아보실 수 있습니다.
|
||||
|
||||
사용하고 있는 터미널에서 `COLORTERM`을 `truecolor` 혹은
|
||||
`24bit`으로 설정 되어있는지 확인하세요. 만약 아니라면, `bat`은 24-bit escape sequence를 지원되는지 여부를 판단 할 수 없습니다. (그리고 8-bit 색상으로 돌아갑니다.)
|
||||
사용하고 있는 트루컬러 터미널에서 `COLORTERM` 변수를 `truecolor` 혹은
|
||||
`24bit`로 설정되어 있는지 확인하세요.
|
||||
그렇지 않을 경우, `bat`은 24비트 확장열(escape sequence)이 지원되는지 여부를
|
||||
판단할 수 없습니다 (그리고 8비트 색상을 사용합니다).
|
||||
|
||||
### 라인 숫자와 눈금이 잘 보이지 않는 경우
|
||||
### 줄 번호와 격자가 잘 보이지 않는 경우
|
||||
|
||||
다른 테마를 사용해 보세요. (`bat --list-themes`에서 테마들을 확인해 볼 수 있습니다.) `OneHalfDark` 과 `OneHalfLight` 테마는 눈금과 선의 색을 밝게 합니다.
|
||||
다른 테마를 사용해 보세요 (`bat --list-themes`에서 목록을 볼 수 있습니다).
|
||||
`OneHalfDark`와 `OneHalfLight` 테마는 더 밝은 눈금과 선의 색상을 사용합니다.
|
||||
|
||||
### 파일 인코딩
|
||||
|
||||
`bat`은 기본적으로 UTF-8과 UTF-8을 제공합니다. 다른 파일 인코딩의 경우, 자동 감지 되지 않으므로 UTF-8로 먼저 변환해 주어야 합니다. 이렇게 할 때, `iconv`를 사용 할 수 있습니다. 예를 들어, Latin-1 (ISO-8859-1)로 인코딩된 PHP파일이라면 다음과 같이 사용할 수 있습니다.:
|
||||
`bat`은 기본적으로 UTF-8과 UTF-16을 지원합니다.
|
||||
다른 모든 종류의 파일 인코딩에 대해서는, 일반적으로 인코딩을 자동으로 판별하는
|
||||
방법이 없기 때문에 먼저 UTF-8으로 변환해야 할 수 있습니다.
|
||||
이를 위해 `iconv`를 사용할 수 있습니다.
|
||||
예시: Latin-1(ISO-8859-1)로 인코딩된 PHP 파일은 다음과 같이 처리할 수 있습니다:
|
||||
``` bash
|
||||
iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat
|
||||
```
|
||||
참고: `bat`으로 자동 감지가 되지 않는 경우에는 `-l`/`--language` 옵션을 사용할 수도 있습니다.
|
||||
참고: `bat`으로 문법 자동 감지가 되지 않는 경우에는 `-l`/`--language` 옵션을
|
||||
사용할 수 있습니다.
|
||||
|
||||
## 배포
|
||||
## 개발
|
||||
|
||||
```bash
|
||||
# Recursive clone to retrieve all submodules
|
||||
# 모든 서브모듈을 받기 위해 재귀적으로 복제하기
|
||||
git clone --recursive https://github.com/sharkdp/bat
|
||||
|
||||
# Build (debug version)
|
||||
# (디버그 버전) 빌드
|
||||
cd bat
|
||||
cargo build --bins
|
||||
|
||||
# Run unit tests and integration tests
|
||||
# 단위 테스트와 통합 테스트 실행
|
||||
cargo test
|
||||
|
||||
# Install (release version)
|
||||
# (배포 버전) 설치
|
||||
cargo install --locked
|
||||
|
||||
# Build a bat binary with modified syntaxes and themes
|
||||
# 수정된 문법과 테마가 적용된 bat 바이너리 빌드
|
||||
bash assets/create.sh
|
||||
cargo install --locked --force
|
||||
```
|
||||
|
||||
`bat`의 pretty-printing 기능을 라이브러리로 사용하는 애플리케이션을 만들고
|
||||
싶다면, [API 문서](https://docs.rs/bat/)를 살펴보세요.
|
||||
참고로 `bat`에 라이브러리로써 의존한다면, `regex-onig`나 `regex-fancy`를
|
||||
기능으로 사용해야 합니다.
|
||||
|
||||
## 기여하기
|
||||
|
||||
[`CONTRIBUTING.md`](../CONTRIBUTING.md) 가이드를 살펴보세요.
|
||||
|
||||
## 메인테이너들
|
||||
|
||||
- [sharkdp](https://github.com/sharkdp)
|
||||
- [eth-p](https://github.com/eth-p)
|
||||
- [keith-hall](https://github.com/keith-hall)
|
||||
- [Enselic](https://github.com/Enselic)
|
||||
|
||||
## 프로젝트 목표와 대안들
|
||||
|
||||
`bat`은 아래와 같은 목표를 달성하려고 합니다:
|
||||
`bat`은 다음과 같은 목표를 달성하려고 합니다:
|
||||
|
||||
- 아름답고 발전된 문법 강조 기능
|
||||
- Git 연동을 통한 파일 수정 내역 확인
|
||||
- (POSIX)`cat`의 대체제
|
||||
- 사용자 친화적인 CLI 제공
|
||||
- 아름답고 발전된 문법 강조 기능 제공
|
||||
- Git과의 연동을 통한 파일 변경 내용 확인
|
||||
- (POSIX) `cat`의 대체제
|
||||
- 사용자 친화적인 커맨드 라인 인터페이스 제공
|
||||
|
||||
|
||||
비슷한 프로그램들을 찾고 있다면, 많은 대안들이 있습니다. 비교는 [이 문서]((doc/alternatives.md))를 참조해주세요.
|
||||
비슷한 프로그램들을 찾고 있다면 많은 대안들이 있습니다.
|
||||
비교는 [이 문서](../doc/alternatives.md)를 참조해 주세요.
|
||||
|
||||
## 라이센스
|
||||
Copyright (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat).
|
||||
|
||||
`bat`는 MIT 라이센스 및 Apache 라이센스 2.0의 조건에 따라 배포됩니다.
|
||||
`bat`는 여러분의 선택에 따라 MIT 라이센스 또는 Apache 라이센스 2.0의 조건에 따라
|
||||
배포됩니다.
|
||||
|
||||
라이센스 세부사항은 [LICENSE-APACHE](LICENSE-APACHE)와 [LICENSE-MIT](LICENSE-MIT)를 참조하세요.
|
||||
라이센스의 세부사항은 [LICENSE-APACHE](../LICENSE-APACHE)와
|
||||
[LICENSE-MIT](../LICENSE-MIT)를 참조하세요.
|
||||
|
||||
+1
-1
@@ -185,7 +185,7 @@ ln -s /usr/bin/batcat ~/.local/bin/bat
|
||||
[release page](https://github.com/sharkdp/bat/releases) и установить так:
|
||||
|
||||
```bash
|
||||
sudo dpkg -i bat_0.18.1_amd64.deb # измените архитектуру и версию
|
||||
sudo dpkg -i bat_0.18.2_amd64.deb # измените архитектуру и версию
|
||||
```
|
||||
|
||||
### Alpine Linux
|
||||
|
||||
+37
-7
@@ -23,6 +23,23 @@ pub struct HighlightingAssets {
|
||||
fallback_theme: Option<&'static str>,
|
||||
}
|
||||
|
||||
const IGNORED_SUFFIXES: [&str; 10] = [
|
||||
// Editor etc backups
|
||||
"~",
|
||||
".bak",
|
||||
".old",
|
||||
".orig",
|
||||
// Debian and derivatives apt/dpkg backups
|
||||
".dpkg-dist",
|
||||
".dpkg-old",
|
||||
// Red Hat and derivatives rpm backups
|
||||
".rpmnew",
|
||||
".rpmorig",
|
||||
".rpmsave",
|
||||
// Build system input/template files
|
||||
".in",
|
||||
];
|
||||
|
||||
impl HighlightingAssets {
|
||||
pub fn default_theme() -> &'static str {
|
||||
"Monokai Extended"
|
||||
@@ -201,7 +218,7 @@ impl HighlightingAssets {
|
||||
bat_warning!("Theme '{}' is deprecated, using 'ansi' instead.", theme);
|
||||
return self.get_theme("ansi");
|
||||
}
|
||||
if theme != "" {
|
||||
if !theme.is_empty() {
|
||||
bat_warning!("Unknown theme '{}', using default.", theme)
|
||||
}
|
||||
&self.theme_set.themes[self.fallback_theme.unwrap_or_else(|| Self::default_theme())]
|
||||
@@ -273,12 +290,25 @@ impl HighlightingAssets {
|
||||
self.syntax_set
|
||||
.find_syntax_by_extension(file_name.to_str().unwrap_or_default())
|
||||
.or_else(|| {
|
||||
self.syntax_set.find_syntax_by_extension(
|
||||
Path::new(file_name)
|
||||
.extension()
|
||||
.and_then(|x| x.to_str())
|
||||
.unwrap_or_default(),
|
||||
)
|
||||
let file_path = Path::new(file_name);
|
||||
self.syntax_set
|
||||
.find_syntax_by_extension(
|
||||
file_path
|
||||
.extension()
|
||||
.and_then(|x| x.to_str())
|
||||
.unwrap_or_default(),
|
||||
)
|
||||
.or_else(|| {
|
||||
if let Some(file_str) = file_path.to_str() {
|
||||
for suffix in IGNORED_SUFFIXES.iter() {
|
||||
if let Some(stripped_filename) = file_str.strip_suffix(suffix) {
|
||||
return self
|
||||
.get_extension_syntax(OsStr::new(stripped_filename));
|
||||
}
|
||||
}
|
||||
}
|
||||
None
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
+14
-4
@@ -231,7 +231,7 @@ fn run() -> Result<bool> {
|
||||
let pager = bat::config::get_pager_executable(app.matches.value_of("pager"))
|
||||
.unwrap_or_else(|| "less".to_owned()); // FIXME: Avoid non-canonical path to "less".
|
||||
|
||||
bugreport!()
|
||||
let report = bugreport!()
|
||||
.info(SoftwareVersion::default())
|
||||
.info(OperatingSystem::default())
|
||||
.info(CommandLine::default())
|
||||
@@ -253,9 +253,19 @@ fn run() -> Result<bool> {
|
||||
"MANPAGER",
|
||||
]))
|
||||
.info(FileContent::new("Config file", config_file()))
|
||||
.info(CompileTimeInformation::default())
|
||||
.info(CommandOutput::new("Less version", pager, &["--version"]))
|
||||
.print::<Markdown>();
|
||||
.info(CompileTimeInformation::default());
|
||||
|
||||
let mut report = if let Ok(resolved_path) = grep_cli::resolve_binary(pager) {
|
||||
report.info(CommandOutput::new(
|
||||
"Less version",
|
||||
resolved_path,
|
||||
&["--version"],
|
||||
))
|
||||
} else {
|
||||
report
|
||||
};
|
||||
|
||||
report.print::<Markdown>();
|
||||
|
||||
return Ok(true);
|
||||
}
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@ impl<'a> Input<'a> {
|
||||
)
|
||||
.into());
|
||||
}
|
||||
file = input_identifier.into_inner().expect("The file was lost in the clircle::Identifier, this should not have happended...");
|
||||
file = input_identifier.into_inner().expect("The file was lost in the clircle::Identifier, this should not have happened...");
|
||||
}
|
||||
|
||||
InputReader::new(BufReader::new(file))
|
||||
|
||||
+3
-1
@@ -4,7 +4,9 @@ use std::ffi::OsStr;
|
||||
use std::process::Command;
|
||||
|
||||
pub fn retrieve_less_version(less_path: &dyn AsRef<OsStr>) -> Option<usize> {
|
||||
let cmd = Command::new(less_path).arg("--version").output().ok()?;
|
||||
let resolved_path = grep_cli::resolve_binary(less_path.as_ref()).ok()?;
|
||||
|
||||
let cmd = Command::new(resolved_path).arg("--version").output().ok()?;
|
||||
parse_less_version(&cmd.stdout)
|
||||
}
|
||||
|
||||
|
||||
+8
-1
@@ -63,7 +63,14 @@ impl OutputType {
|
||||
return Err(ErrorKind::InvalidPagerValueBat.into());
|
||||
}
|
||||
|
||||
let mut p = Command::new(&pager.bin);
|
||||
let resolved_path = match grep_cli::resolve_binary(&pager.bin) {
|
||||
Ok(path) => path,
|
||||
Err(_) => {
|
||||
return Ok(OutputType::stdout());
|
||||
}
|
||||
};
|
||||
|
||||
let mut p = Command::new(resolved_path);
|
||||
let args = pager.args;
|
||||
|
||||
if pager.kind == PagerKind::Less {
|
||||
|
||||
+11
-11
@@ -98,17 +98,17 @@ pub(crate) fn get_pager(config_pager: Option<&str>) -> Result<Option<Pager>, Par
|
||||
Some((bin, args)) => {
|
||||
let kind = PagerKind::from_bin(bin);
|
||||
|
||||
let use_less_instead = match (&source, &kind) {
|
||||
// 'more' and 'most' do not supports colors; automatically use 'less' instead
|
||||
// if the problematic pager came from the generic PAGER env var
|
||||
(PagerSource::EnvVarPager, PagerKind::More) => true,
|
||||
(PagerSource::EnvVarPager, PagerKind::Most) => true,
|
||||
|
||||
// If PAGER=bat, silently use 'less' instead to prevent recursion ...
|
||||
(PagerSource::EnvVarPager, PagerKind::Bat) => true,
|
||||
|
||||
// Never silently use less if BAT_PAGER or --pager has been specified
|
||||
_ => false,
|
||||
let use_less_instead = if source == PagerSource::EnvVarPager {
|
||||
// 'more' and 'most' do not supports colors; automatically use
|
||||
// 'less' instead if the problematic pager came from the
|
||||
// generic PAGER env var.
|
||||
// If PAGER=bat, silently use 'less' instead to prevent
|
||||
// recursion.
|
||||
// Never silently use 'less' if BAT_PAGER or --pager has been
|
||||
// specified.
|
||||
matches!(kind, PagerKind::More | PagerKind::Most | PagerKind::Bat)
|
||||
} else {
|
||||
false
|
||||
};
|
||||
|
||||
Ok(Some(if use_less_instead {
|
||||
|
||||
+12
-11
@@ -40,10 +40,11 @@ pub struct PrettyPrinter<'a> {
|
||||
|
||||
impl<'a> PrettyPrinter<'a> {
|
||||
pub fn new() -> Self {
|
||||
let mut config = Config::default();
|
||||
|
||||
config.colored_output = true;
|
||||
config.true_color = true;
|
||||
let config = Config {
|
||||
colored_output: true,
|
||||
true_color: true,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
PrettyPrinter {
|
||||
inputs: vec![],
|
||||
@@ -327,7 +328,7 @@ impl<'a> Input<'a> {
|
||||
self
|
||||
}
|
||||
|
||||
/// The title for the input (e.g. "http://example.com/example.txt")
|
||||
/// The title for the input (e.g. "Descriptive title")
|
||||
/// This defaults to the file name.
|
||||
pub fn title(mut self, title: impl Into<String>) -> Self {
|
||||
self.input.description_mut().set_title(Some(title.into()));
|
||||
@@ -335,14 +336,14 @@ impl<'a> Input<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> Into<Input<'a>> for input::Input<'a> {
|
||||
fn into(self) -> Input<'a> {
|
||||
Input { input: self }
|
||||
impl<'a> From<input::Input<'a>> for Input<'a> {
|
||||
fn from(input: input::Input<'a>) -> Self {
|
||||
Self { input }
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> Into<input::Input<'a>> for Input<'a> {
|
||||
fn into(self) -> input::Input<'a> {
|
||||
self.input
|
||||
impl<'a> From<Input<'a>> for input::Input<'a> {
|
||||
fn from(Input { input }: Input<'a>) -> Self {
|
||||
input
|
||||
}
|
||||
}
|
||||
|
||||
+8
-4
@@ -447,8 +447,10 @@ impl<'a> Printer for InteractivePrinter<'a> {
|
||||
|
||||
if text.len() != text_trimmed.len() {
|
||||
if let Some(background_color) = background_color {
|
||||
let mut ansi_style = Style::default();
|
||||
ansi_style.background = to_ansi_color(background_color, true_color);
|
||||
let ansi_style = Style {
|
||||
background: to_ansi_color(background_color, true_color),
|
||||
..Default::default()
|
||||
};
|
||||
let width = if cursor_total <= cursor_max {
|
||||
cursor_max - cursor_total + 1
|
||||
} else {
|
||||
@@ -588,8 +590,10 @@ impl<'a> Printer for InteractivePrinter<'a> {
|
||||
}
|
||||
|
||||
if let Some(background_color) = background_color {
|
||||
let mut ansi_style = Style::default();
|
||||
ansi_style.background = to_ansi_color(background_color, self.config.true_color);
|
||||
let ansi_style = Style {
|
||||
background: to_ansi_color(background_color, self.config.true_color),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
write!(
|
||||
handle,
|
||||
|
||||
@@ -4,9 +4,9 @@ snapshots/** text=auto eol=lf
|
||||
syntax-tests/source/** text=auto eol=lf
|
||||
syntax-tests/highlighted/** text=auto eol=lf
|
||||
|
||||
examples/* linguist-vendored
|
||||
snapshots/* linguist-vendored
|
||||
benchmarks/* linguist-vendored
|
||||
benchmarks/test-src/* linguist-vendored
|
||||
scripts/* linguist-vendored
|
||||
syntax-tests/* linguist-vendored
|
||||
# Linguist overrides
|
||||
benchmarks/** linguist-vendored
|
||||
examples/** linguist-vendored
|
||||
snapshots/** linguist-vendored
|
||||
syntax-tests/highlighted/** linguist-vendored
|
||||
syntax-tests/source/** linguist-vendored
|
||||
|
||||
@@ -18,6 +18,7 @@ BAT_OPTIONS = [
|
||||
|
||||
SKIP_FILENAMES = [
|
||||
"LICENSE.md",
|
||||
"NOTICE",
|
||||
"README.md",
|
||||
"bat_options",
|
||||
]
|
||||
|
||||
+247
@@ -0,0 +1,247 @@
|
||||
[38;2;190;132;255mcabal-version[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242m2.4[0m
|
||||
|
||||
[38;2;190;132;255mname[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242msemantic[0m
|
||||
[38;2;190;132;255mversion[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242m0.11.0.1[0m
|
||||
[38;2;190;132;255msynopsis[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mFramework and executable for analyzing and diffing untrusted code.[0m
|
||||
[38;2;190;132;255mdescription[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mSemantic is a library for parsing, analyzing, and comparing source code across many languages.[0m
|
||||
[38;2;190;132;255mhomepage[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhttp://github.com/github/semantic#readme[0m
|
||||
[38;2;190;132;255mbug-reports[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhttps://github.com/github/semantic/issues[0m
|
||||
[38;2;190;132;255mlicense[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mMIT[0m
|
||||
[38;2;190;132;255mlicense-file[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mLICENSE[0m
|
||||
[38;2;190;132;255mauthor[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mThe Semantic authors[0m
|
||||
[38;2;190;132;255mmaintainer[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mopensource+semantic@github.com[0m
|
||||
[38;2;190;132;255mcopyright[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242m(c) 2015-2020 GitHub, Inc.[0m
|
||||
[38;2;190;132;255mcategory[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mLanguage[0m
|
||||
[38;2;190;132;255mbuild-type[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mSimple[0m
|
||||
[38;2;190;132;255mstability[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242malpha[0m
|
||||
[38;2;190;132;255mextra-source-files[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mREADME.md[0m
|
||||
|
||||
[38;2;190;132;255mtested-with[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mGHC == 8.10.1[0m
|
||||
|
||||
[38;2;249;38;114mflag[0m[38;2;166;226;46m [0m[38;2;230;219;116mrelease[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mdescription[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mBuild with optimizations on (for CI or deployment builds)[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mdefault[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mFalse[0m
|
||||
|
||||
[38;2;117;113;94m-- GHC extensions shared between targets[0m
|
||||
[38;2;248;248;242mcommon haskell[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mdefault-language[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mHaskell2010[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mdefault-extensions[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mStrictData[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mghc-options[0m[38;2;166;226;46m:[0m
|
||||
[38;2;248;248;242m -Weverything[0m
|
||||
[38;2;248;248;242m -Wno-missing-local-signatures[0m
|
||||
[38;2;248;248;242m -Wno-missing-import-lists[0m
|
||||
[38;2;248;248;242m -Wno-implicit-prelude[0m
|
||||
[38;2;248;248;242m -Wno-safe[0m
|
||||
[38;2;248;248;242m -Wno-unsafe[0m
|
||||
[38;2;248;248;242m -Wno-name-shadowing[0m
|
||||
[38;2;248;248;242m -Wno-monomorphism-restriction[0m
|
||||
[38;2;248;248;242m -Wno-missed-specialisations[0m
|
||||
[38;2;248;248;242m -Wno-all-missed-specialisations[0m
|
||||
[38;2;248;248;242m -Wno-star-is-type[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mcpp-options[0m[38;2;166;226;46m:[0m
|
||||
[38;2;248;248;242m -DBAZEL_BUILD=0[0m
|
||||
[38;2;248;248;242m if (impl(ghc >= 8.8))[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mghc-options[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242m-Wno-missing-deriving-strategies[0m
|
||||
[38;2;248;248;242m if (impl(ghc >= 8.10))[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mghc-options[0m[38;2;166;226;46m:[0m
|
||||
[38;2;248;248;242m -Wno-missing-safe-haskell-mode[0m
|
||||
[38;2;248;248;242m -Wno-prepositive-qualified-module[0m
|
||||
|
||||
[38;2;248;248;242mcommon executable-flags[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mghc-options[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242m-threaded -rtsopts "-with-rtsopts=-N -A4m -n2m"[0m
|
||||
|
||||
[38;2;249;38;114mlibrary[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mimport[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhaskell[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mhs-source-dirs[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242msrc[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mexposed-modules[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mControl.Carrier.Parse.Measured[0m
|
||||
[38;2;248;248;242m , Control.Carrier.Parse.Simple[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- Effects[0m
|
||||
[38;2;248;248;242m , Control.Effect.Parse[0m
|
||||
[38;2;248;248;242m , Control.Effect.Sum.Project[0m
|
||||
[38;2;248;248;242m , Control.Effect.Timeout[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- General datatype definitions & generic algorithms[0m
|
||||
[38;2;248;248;242m , Data.Blob[0m
|
||||
[38;2;248;248;242m , Data.Blob.IO[0m
|
||||
[38;2;248;248;242m , Data.Duration[0m
|
||||
[38;2;248;248;242m , Data.Edit[0m
|
||||
[38;2;248;248;242m , Data.Error[0m
|
||||
[38;2;248;248;242m , Data.Flag[0m
|
||||
[38;2;248;248;242m , Data.Graph.Algebraic[0m
|
||||
[38;2;248;248;242m , Data.Handle[0m
|
||||
[38;2;248;248;242m , Data.Maybe.Exts[0m
|
||||
[38;2;248;248;242m , Data.Semigroup.App[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- Parser glue[0m
|
||||
[38;2;248;248;242m , Parsing.Parser[0m
|
||||
[38;2;248;248;242m , Parsing.TreeSitter[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- API[0m
|
||||
[38;2;248;248;242m , Semantic.Api[0m
|
||||
[38;2;248;248;242m , Semantic.Api.Bridge[0m
|
||||
[38;2;248;248;242m , Semantic.Api.StackGraph[0m
|
||||
[38;2;248;248;242m , Semantic.Api.Symbols[0m
|
||||
[38;2;248;248;242m , Semantic.Api.Terms[0m
|
||||
[38;2;248;248;242m , Semantic.CLI[0m
|
||||
[38;2;248;248;242m , Semantic.Config[0m
|
||||
[38;2;248;248;242m , Semantic.Env[0m
|
||||
[38;2;248;248;242m , Semantic.IO[0m
|
||||
[38;2;248;248;242m , Semantic.Task[0m
|
||||
[38;2;248;248;242m , Semantic.Task.Files[0m
|
||||
[38;2;248;248;242m , Semantic.Telemetry[0m
|
||||
[38;2;248;248;242m , Semantic.Telemetry.AsyncQueue[0m
|
||||
[38;2;248;248;242m , Semantic.Telemetry.Error[0m
|
||||
[38;2;248;248;242m , Semantic.Telemetry.Log[0m
|
||||
[38;2;248;248;242m , Semantic.Telemetry.Stat[0m
|
||||
[38;2;248;248;242m , Semantic.Util[0m
|
||||
[38;2;248;248;242m , Semantic.Util.Pretty[0m
|
||||
[38;2;248;248;242m , Semantic.Version[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- Serialization[0m
|
||||
[38;2;248;248;242m , Serializing.Format[0m
|
||||
[38;2;248;248;242m , Serializing.SExpression.Precise[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- Custom Prelude[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mautogen-modules[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mPaths_semantic[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mother-modules[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mPaths_semantic[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- Except in case of vendored dependencies, these deps should be expressed[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- as caret-operator bounds relative to a version in Stackage.[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m-- These are currently pinned to lts-13.13.[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mbuild-depends[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239maeson[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.4.2.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239malgebraic-graphs[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.3[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mansi-terminal[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8.2[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239masync[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.2.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbase[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.13[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbytestring[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.10.8.2[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mcontainers[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.6.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mdirectory-tree[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.12.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mfilepath[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.4.2.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mfused-effects[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mghc-prim[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.7[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mhostname[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mhscolour[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.24.4[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mlens[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.17[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.20[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mnetwork[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.8.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mnetwork-uri[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.6.1.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239moptparse-applicative[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.14.3[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.16[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mpathtype[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mpretty-show[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.9.5[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mproto-lens[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-analysis[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-ast[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-codeql[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-go[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-java[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-json[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-php[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-proto[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-python[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-ruby[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-scope-graph[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-source[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.1.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-tags[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-tsx[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-typescript[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemilattices[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.0.0.3[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msplit[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.2.3.3[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mstm-chans[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m3.0.0.4[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtext[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.2.3.2[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtime[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.8.0.2[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.10[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.9.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-go[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-java[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.7.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-json[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.7.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-php[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-python[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.9.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-ql[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.1.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-ruby[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-tsx[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtree-sitter-typescript[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.5.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239munix[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.7.2.2[0m
|
||||
|
||||
[38;2;249;38;114mexecutable[0m[38;2;166;226;46m [0m[38;2;230;219;116msemantic[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mimport[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhaskell, executable-flags[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mhs-source-dirs[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mapp[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mmain-is[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mMain.hs[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mbuild-depends[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbase[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic[0m
|
||||
|
||||
[38;2;249;38;114mtest-suite[0m[38;2;166;226;46m [0m[38;2;230;219;116mtest[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mimport[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhaskell, executable-flags[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mtype[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mexitcode-stdio-1.0[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mhs-source-dirs[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mtest[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mmain-is[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mSpec.hs[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mother-modules[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mData.Graph.Spec[0m
|
||||
[38;2;248;248;242m , Data.Language.Spec[0m
|
||||
[38;2;248;248;242m , Data.Semigroup.App.Spec[0m
|
||||
[38;2;248;248;242m , Integration.Spec[0m
|
||||
[38;2;248;248;242m , Semantic.Spec[0m
|
||||
[38;2;248;248;242m , Semantic.CLI.Spec[0m
|
||||
[38;2;248;248;242m , Semantic.IO.Spec[0m
|
||||
[38;2;248;248;242m , Semantic.Stat.Spec[0m
|
||||
[38;2;248;248;242m , Tags.Spec[0m
|
||||
[38;2;248;248;242m , SpecHelpers[0m
|
||||
[38;2;248;248;242m , Generators[0m
|
||||
[38;2;248;248;242m , Properties[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mbuild-depends[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239malgebraic-graphs[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.3[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbase[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.13[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbytestring[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.10.8.2[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mfused-effects[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mGlob[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.10.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mhedgehog[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mhspec[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.6[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;190;132;255m3[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mhspec-expectations[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8.2[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mnetwork[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.8.0.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mpathtype[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-analysis[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-ast[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-proto[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-source[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.1.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-tags[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemilattices[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.2.3[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty-golden[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.3.2[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty-hedgehog[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.0.0.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty-hspec[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.1.5.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty-hunit[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.10.0.2[0m
|
||||
|
||||
[38;2;249;38;114mtest-suite[0m[38;2;166;226;46m [0m[38;2;230;219;116mparse-examples[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mimport[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhaskell, executable-flags[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mtype[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mexitcode-stdio-1.0[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mhs-source-dirs[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mtest[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mmain-is[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mExamples.hs[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mbuild-depends[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239masync[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2.2.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbase[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mfused-effects[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mGlob[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mlens[0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.17[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.20[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mpathtype[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mprocess[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.6.3.0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-analysis[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-ast[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-proto[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtasty-hunit[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mtext[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.2.3.2[0m
|
||||
|
||||
[38;2;249;38;114mbenchmark[0m[38;2;166;226;46m [0m[38;2;230;219;116mbenchmarks[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mimport[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhaskell, executable-flags[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mhs-source-dirs[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mbench[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mtype[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mexitcode-stdio-1.0[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mmain-is[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mMain.hs[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mother-modules[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mTagging[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mghc-options[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242m-static[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mbuild-depends[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mbase[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mfused-effects[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mgauge[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.2.5[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mGlob[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239mpathtype[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0.8.1[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-analysis[0m[38;2;248;248;242m ^[0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m , [0m[38;2;102;217;239msemantic-proto[0m
|
||||
|
||||
[38;2;249;38;114msource-repository[0m[38;2;166;226;46m [0m[38;2;230;219;116mhead[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mtype[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mgit[0m
|
||||
[38;2;166;226;46m [0m[38;2;190;132;255mlocation[0m[38;2;166;226;46m:[0m[38;2;166;226;46m [0m[38;2;248;248;242mhttps://github.com/github/semantic[0m
|
||||
@@ -0,0 +1,391 @@
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m CoffeeScript can be used both on the server, as a command-line compiler based[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m on Node.js/V8, or to run CoffeeScript directly in the browser. This module[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m contains the main entry functions for tokenizing, parsing, and compiling[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m source CoffeeScript into JavaScript.[0m
|
||||
|
||||
[38;2;249;38;114m{[0m[38;2;248;248;242mLexer[0m[38;2;249;38;114m} =[0m[38;2;248;248;242m [0m[38;2;102;217;239mrequire[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m./lexer[0m[38;2;230;219;116m'[0m
|
||||
[38;2;249;38;114m{[0m[38;2;248;248;242mparser[0m[38;2;249;38;114m} =[0m[38;2;248;248;242m [0m[38;2;102;217;239mrequire[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m./parser[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242mhelpers [0m[38;2;249;38;114m= [0m[38;2;102;217;239mrequire[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m./helpers[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242mSourceMap [0m[38;2;249;38;114m= [0m[38;2;102;217;239mrequire[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m./sourcemap[0m[38;2;230;219;116m'[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Require `package.json`, which is two levels above this file, as this file is[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m evaluated from `lib/coffeescript`.[0m
|
||||
[38;2;248;248;242mpackageJson [0m[38;2;249;38;114m= [0m[38;2;102;217;239mrequire[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m../../package.json[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m The current CoffeeScript version number.[0m
|
||||
[38;2;248;248;242mexports.VERSION [0m[38;2;249;38;114m= [0m[38;2;248;248;242mpackageJson[0m[38;2;248;248;242m.[0m[38;2;248;248;242mversion[0m
|
||||
|
||||
[38;2;248;248;242mexports.FILE_EXTENSIONS [0m[38;2;249;38;114m= [0m[38;2;248;248;242mFILE_EXTENSIONS [0m[38;2;249;38;114m= [0m[38;2;248;248;242m[[0m[38;2;230;219;116m'[0m[38;2;230;219;116m.coffee[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116m.litcoffee[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116m.coffee.md[0m[38;2;230;219;116m'[0m[38;2;248;248;242m][0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Expose helpers for testing.[0m
|
||||
[38;2;248;248;242mexports.helpers [0m[38;2;249;38;114m= [0m[38;2;248;248;242mhelpers[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Function that allows for btoa in both nodejs and the browser.[0m
|
||||
[38;2;166;226;46mbase64encod[0m[38;2;166;226;46me[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(src)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m[38;2;248;248;242m [0m[38;2;249;38;114mswitch[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[38;2;249;38;114mtypeof[0m[38;2;248;248;242m Buffer [0m[38;2;249;38;114mis[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mfunction[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m Buffer[0m[38;2;248;248;242m.[0m[38;2;102;217;239mfrom[0m[38;2;255;255;255m([0m[38;2;248;248;242msrc[0m[38;2;255;255;255m)[0m[38;2;248;248;242m.[0m[38;2;102;217;239mtoString[0m[38;2;255;255;255m([0m[38;2;230;219;116m'[0m[38;2;230;219;116mbase64[0m[38;2;230;219;116m'[0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[38;2;249;38;114mtypeof[0m[38;2;248;248;242m btoa [0m[38;2;249;38;114mis[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mfunction[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m The contents of a `<script>` block are encoded via UTF-16, so if any extended[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m characters are used in the block, btoa will fail as it maxes out at UTF-8.[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m See https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m for the gory details, and for the solution implemented here.[0m
|
||||
[38;2;248;248;242m btoa [0m[38;2;102;217;239mencodeURIComponent[0m[38;2;255;255;255m([0m[38;2;248;248;242msrc[0m[38;2;255;255;255m)[0m[38;2;248;248;242m.[0m[38;2;248;248;242mreplace [0m[38;2;246;170;17m/%([0-9A-F]{2})/g[0m[38;2;248;248;242m, [0m[3;38;2;253;151;31m(match, p1)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfromCharCode [0m[38;2;230;219;116m'[0m[38;2;230;219;116m0x[0m[38;2;230;219;116m'[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m p1[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mthrow[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mError[0m[38;2;255;255;255m([0m[38;2;230;219;116m'[0m[38;2;230;219;116mUnable to base64 encode inline sourcemap.[0m[38;2;230;219;116m'[0m[38;2;255;255;255m)[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Function wrapper to add source file information to SyntaxErrors thrown by the[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m lexer/parser/compiler.[0m
|
||||
[38;2;166;226;46mwithPrettyError[0m[38;2;166;226;46ms[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(fn)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m(code, options = {})[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mtry[0m
|
||||
[38;2;248;248;242m fn[0m[38;2;248;248;242m.[0m[38;2;102;217;239mcall[0m[38;2;248;248;242m [0m[38;2;255;255;255m@[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcode[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcatch[0m[38;2;248;248;242m err[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mthrow[0m[38;2;248;248;242m err [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114mtypeof[0m[38;2;248;248;242m code [0m[38;2;249;38;114misnt[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mstring[0m[38;2;230;219;116m'[0m[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Support `CoffeeScript.nodes(tokens)`.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mthrow[0m[38;2;248;248;242m helpers[0m[38;2;248;248;242m.[0m[38;2;248;248;242mupdateSyntaxError err[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcode[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfilename[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m For each compiled file, save its source in memory in case we need to[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m recompile it later. We might need to recompile if the first compilation[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m didn’t create a source map (faster) but something went wrong and we need[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m a stack trace. Assuming that most of the time, code isn’t throwing[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m exceptions, it’s probably more efficient to compile twice only when we[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m need a stack trace, rather than always generating a source map even when[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m it’s not likely to be used. Save in form of `filename`: [`(source)`][0m
|
||||
[38;2;248;248;242msources [0m[38;2;249;38;114m= [0m[38;2;248;248;242m{[0m[38;2;248;248;242m}[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Also save source maps if generated, in form of `(source)`: [`(source map)`].[0m
|
||||
[38;2;248;248;242msourceMaps [0m[38;2;249;38;114m= [0m[38;2;248;248;242m{[0m[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m This is exported to enable an external module to implement caching of[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m compilation results. When the compiled js source is loaded from cache, the[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m original coffee code should be added with this method in order to enable the[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Error.prepareStackTrace below to correctly adjust the stack trace for the[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m corresponding file (the source map will be generated on demand).[0m
|
||||
[38;2;248;248;242mexports.registerCompiled [0m[38;2;249;38;114m= [0m[38;2;166;226;46mregisterCompile[0m[38;2;166;226;46md[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(filename, source, sourcemap)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
|
||||
[38;2;248;248;242m sources[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m] [0m[38;2;249;38;114m?[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m sources[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;102;217;239mpush[0m[38;2;248;248;242m source[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m sourcemap[0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m sourceMaps[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m] [0m[38;2;249;38;114m?[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m sourceMaps[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;102;217;239mpush[0m[38;2;248;248;242m sourcemap[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Compile CoffeeScript code to JavaScript, using the Coffee/Jison compiler.[0m
|
||||
[38;2;117;113;94m#[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m If `options.sourceMap` is specified, then `options.filename` must also be[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m specified. All options that can be passed to `SourceMap#generate` may also[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m be passed here.[0m
|
||||
[38;2;117;113;94m#[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m This returns a javascript string, unless `options.sourceMap` is passed,[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m in which case this returns a `{js, v3SourceMap, sourceMap}`[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m object, where sourceMap is a sourcemap.coffee#SourceMap object, handy for[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m doing programmatic lookups.[0m
|
||||
[38;2;248;248;242mexports.compile [0m[38;2;249;38;114m= [0m[38;2;248;248;242mcompile [0m[38;2;249;38;114m= [0m[38;2;248;248;242mwithPrettyErrors [0m[3;38;2;253;151;31m(code, options = {})[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Clone `options`, to avoid mutating the `options` object passed in.[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242moptions [0m[38;2;249;38;114m= [0m[3;38;2;166;226;46mObject[0m[38;2;248;248;242m.[0m[38;2;248;248;242massign [0m[38;2;248;248;242m{[0m[38;2;248;248;242m}[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Always generate a source map if no filename is passed in, since without a[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m a filename we have no way to retrieve this source later in the event that[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m we need to recompile it to get a source map for `prepareStackTrace`.[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mgenerateSourceMap [0m[38;2;249;38;114m= [0m[38;2;248;248;242moptions[0m[38;2;248;248;242m.[0m[38;2;248;248;242msourceMap [0m[38;2;249;38;114mor[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242minlineMap [0m[38;2;249;38;114mor[0m[38;2;248;248;242m [0m[38;2;249;38;114mnot[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfilename[0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfilename [0m[38;2;249;38;114m= [0m[38;2;248;248;242moptions[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfilename [0m[38;2;249;38;114mor[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;248;248;242m checkShebangLine filename[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcode[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mmap [0m[38;2;249;38;114m= [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mSourceMap[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m generateSourceMap[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtokens [0m[38;2;249;38;114m= [0m[38;2;248;248;242mlexer[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtokenize code[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Pass a list of referenced variables, so that generated variables won’t get[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m the same name.[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242moptions.referencedVars [0m[38;2;249;38;114m= [0m[38;2;255;255;255m([0m
|
||||
[38;2;248;248;242m token[0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m] [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m token [0m[38;2;249;38;114min[0m[38;2;248;248;242m tokens [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m token[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m] [0m[38;2;249;38;114mis[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mIDENTIFIER[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Check for import or export; if found, force bare mode.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mbare[0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;249;38;114mand[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mbare [0m[38;2;249;38;114mis[0m[38;2;248;248;242m [0m[38;2;190;132;255myes[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m token [0m[38;2;249;38;114min[0m[38;2;248;248;242m tokens[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m token[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m] [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;230;219;116m'[0m[38;2;230;219;116mIMPORT[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mEXPORT[0m[38;2;230;219;116m'[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242moptions.bare [0m[38;2;249;38;114m= [0m[38;2;190;132;255myes[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mbreak[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mnodes [0m[38;2;249;38;114m= [0m[38;2;248;248;242mparser[0m[38;2;248;248;242m.[0m[38;2;248;248;242mparse tokens[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m If all that was requested was a POJO representation of the nodes, e.g.[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m the abstract syntax tree (AST), we can stop now and just return that[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m (after fixing the location data for the root/`File`»`Program` node,[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m which might’ve gotten misaligned from the original source due to the[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m `clean` function in the lexer).[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mast[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mnodes.allCommentTokens [0m[38;2;249;38;114m= [0m[38;2;248;248;242mhelpers[0m[38;2;248;248;242m.[0m[38;2;248;248;242mextractAllCommentTokens tokens[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceCodeNumberOfLines [0m[38;2;249;38;114m= [0m[38;2;255;255;255m([0m[38;2;248;248;242mcode[0m[38;2;248;248;242m.[0m[38;2;248;248;242mmatch[0m[38;2;255;255;255m([0m[38;2;246;170;17m/\r?\n/g[0m[38;2;255;255;255m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mor[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m[38;2;255;255;255m)[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceCodeLastLine [0m[38;2;249;38;114m= [0m[38;2;246;170;17m/.*$/[0m[38;2;248;248;242m.[0m[38;2;248;248;242mexec[0m[38;2;255;255;255m([0m[38;2;248;248;242mcode[0m[38;2;255;255;255m)[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m] [0m[38;2;117;113;94m#[0m[38;2;117;113;94m `.*` matches all but line break characters.[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast [0m[38;2;249;38;114m= [0m[38;2;248;248;242mnodes[0m[38;2;248;248;242m.[0m[38;2;248;248;242mast options[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mrange [0m[38;2;249;38;114m= [0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcode[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.start [0m[38;2;249;38;114m= [0m[38;2;248;248;242mast.program.start [0m[38;2;249;38;114m= [0m[38;2;248;248;242mrange[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.end [0m[38;2;249;38;114m= [0m[38;2;248;248;242mast.program.end [0m[38;2;249;38;114m= [0m[38;2;248;248;242mrange[0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.range [0m[38;2;249;38;114m= [0m[38;2;248;248;242mast.program.range [0m[38;2;249;38;114m= [0m[38;2;248;248;242mrange[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.loc.start [0m[38;2;249;38;114m= [0m[38;2;248;248;242mast.program.loc.start [0m[38;2;249;38;114m= [0m[38;2;248;248;242m{[0m[38;2;248;248;242mline[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcolumn[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.loc.end.line [0m[38;2;249;38;114m= [0m[38;2;248;248;242mast.program.loc.end.line [0m[38;2;249;38;114m= [0m[38;2;248;248;242msourceCodeNumberOfLines[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.loc.end.column [0m[38;2;249;38;114m= [0m[38;2;248;248;242mast.program.loc.end.column [0m[38;2;249;38;114m= [0m[38;2;248;248;242msourceCodeLastLine[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mast.tokens [0m[38;2;249;38;114m= [0m[38;2;248;248;242mtokens[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m ast[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfragments [0m[38;2;249;38;114m= [0m[38;2;248;248;242mnodes[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcompileToFragments options[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcurrentLine [0m[38;2;249;38;114m= [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m currentLine [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mheader[0m
|
||||
[38;2;248;248;242m currentLine [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mshiftLine[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcurrentColumn [0m[38;2;249;38;114m= [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mjs [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m fragment [0m[38;2;249;38;114min[0m[38;2;248;248;242m fragments[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Update the sourcemap with data from each fragment.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m generateSourceMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Do not include empty, whitespace, or semicolon-only fragments.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m fragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlocationData [0m[38;2;249;38;114mand[0m[38;2;248;248;242m [0m[38;2;249;38;114mnot[0m[38;2;248;248;242m [0m[38;2;246;170;17m/^[;\s]*$/[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtest fragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m
|
||||
[38;2;248;248;242m map[0m[38;2;248;248;242m.[0m[38;2;248;248;242madd[0m[38;2;255;255;255m([0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242mfragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlocationData[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfirst_line[0m[38;2;248;248;242m, [0m[38;2;248;248;242mfragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlocationData[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfirst_column[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242mcurrentLine[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcurrentColumn[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;248;248;242mnoReplace[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255mtrue[0m[38;2;248;248;242m}[0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mnewLines [0m[38;2;249;38;114m= [0m[38;2;248;248;242mhelpers[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcount fragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m currentLine [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m newLines[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m newLines[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcurrentColumn [0m[38;2;249;38;114m= [0m[38;2;248;248;242mfragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;255;255;255m([0m[38;2;248;248;242mfragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m[38;2;248;248;242m.[0m[38;2;102;217;239mlastIndexOf[0m[38;2;255;255;255m([0m[38;2;230;219;116m"[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;255;255;255m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m currentColumn [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m fragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Copy the code from each fragment into the final JavaScript.[0m
|
||||
[38;2;248;248;242m js [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m fragment[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mheader[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mheader [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116mGenerated by CoffeeScript [0m[38;2;230;159;102m#{[0m[38;2;255;255;255m@VERSION[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mjs [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116m// [0m[38;2;230;159;102m#{[0m[38;2;230;219;116mheader[0m[38;2;230;159;102m}[0m[38;2;190;132;255m\n[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mjs[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m generateSourceMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mv3SourceMap [0m[38;2;249;38;114m= [0m[38;2;248;248;242mmap[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgenerate options[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcode[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114mtypeof[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile [0m[38;2;249;38;114misnt[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mobject[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m This only happens if run via the Node API and `transpile` is set to[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m something other than an object.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mthrow[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mError[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mThe transpile option must be given an object with options to pass to Babel[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Get the reference to Babel that we have been passed if this compiler[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m is run via the CLI or Node API.[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtranspiler [0m[38;2;249;38;114m= [0m[38;2;248;248;242moptions[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdelete[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtranspilerOptions [0m[38;2;249;38;114m= [0m[3;38;2;166;226;46mObject[0m[38;2;248;248;242m.[0m[38;2;248;248;242massign [0m[38;2;248;248;242m{[0m[38;2;248;248;242m}[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtranspile[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m See https://github.com/babel/babel/issues/827#issuecomment-77573107:[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Babel can take a v3 source map object as input in `inputSourceMap`[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m and it will return an *updated* v3 source map object in its output.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m v3SourceMap [0m[38;2;249;38;114mand[0m[38;2;248;248;242m [0m[38;2;249;38;114mnot[0m[38;2;248;248;242m transpilerOptions[0m[38;2;248;248;242m.[0m[38;2;248;248;242minputSourceMap[0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtranspilerOptions.inputSourceMap [0m[38;2;249;38;114m= [0m[38;2;248;248;242mv3SourceMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtranspilerOutput [0m[38;2;249;38;114m= [0m[38;2;248;248;242mtranspiler js[0m[38;2;248;248;242m, [0m[38;2;248;248;242mtranspilerOptions[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mjs [0m[38;2;249;38;114m= [0m[38;2;248;248;242mtranspilerOutput[0m[38;2;248;248;242m.[0m[38;2;248;248;242mcode[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m v3SourceMap [0m[38;2;249;38;114mand[0m[38;2;248;248;242m transpilerOutput[0m[38;2;248;248;242m.[0m[38;2;102;217;239mmap[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mv3SourceMap [0m[38;2;249;38;114m= [0m[38;2;248;248;242mtranspilerOutput[0m[38;2;248;248;242m.[0m[38;2;102;217;239mmap[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242minlineMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mencoded [0m[38;2;249;38;114m= [0m[38;2;248;248;242mbase64encode JSON[0m[38;2;248;248;242m.[0m[38;2;248;248;242mstringify v3SourceMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceMapDataURI [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116m//# sourceMappingURL=data:application/json;base64,[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mencoded[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceURL [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116m//# sourceURL=[0m[38;2;230;159;102m#{[0m[38;2;230;219;116moptions[0m[38;2;230;219;116m.[0m[38;2;230;219;116mfilename [0m[38;2;249;38;114m?[0m[38;2;230;219;116m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mcoffeescript[0m[38;2;230;219;116m'[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mjs [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mjs[0m[38;2;230;159;102m}[0m[38;2;190;132;255m\n[0m[38;2;230;159;102m#{[0m[38;2;230;219;116msourceMapDataURI[0m[38;2;230;159;102m}[0m[38;2;190;132;255m\n[0m[38;2;230;159;102m#{[0m[38;2;230;219;116msourceURL[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m registerCompiled filename[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcode[0m[38;2;248;248;242m, [0m[38;2;248;248;242mmap[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m options[0m[38;2;248;248;242m.[0m[38;2;248;248;242msourceMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m js[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceMap[0m[38;2;248;248;242m:[0m[38;2;248;248;242m map[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mv3SourceMap[0m[38;2;248;248;242m:[0m[38;2;248;248;242m JSON[0m[38;2;248;248;242m.[0m[38;2;248;248;242mstringify v3SourceMap[0m[38;2;248;248;242m, [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m js[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Tokenize a string of CoffeeScript code, and return the array of tokens.[0m
|
||||
[38;2;248;248;242mexports.tokens [0m[38;2;249;38;114m= [0m[38;2;248;248;242mwithPrettyErrors [0m[3;38;2;253;151;31m(code, options)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m lexer[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtokenize code[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Parse a string of CoffeeScript code or an array of lexed tokens, and[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m return the AST. You can then compile it by calling `.compile()` on the root,[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m or traverse it by using `.traverseChildren()` with a callback.[0m
|
||||
[38;2;248;248;242mexports.nodes [0m[38;2;249;38;114m= [0m[38;2;248;248;242mwithPrettyErrors [0m[3;38;2;253;151;31m(source, options)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msource [0m[38;2;249;38;114m= [0m[38;2;248;248;242mlexer[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtokenize source[0m[38;2;248;248;242m, [0m[38;2;248;248;242moptions [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114mtypeof[0m[38;2;248;248;242m source [0m[38;2;249;38;114mis[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mstring[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m parser[0m[38;2;248;248;242m.[0m[38;2;248;248;242mparse source[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m This file used to export these methods; leave stubs that throw warnings[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m instead. These methods have been moved into `index.coffee` to provide[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m separate entrypoints for Node and non-Node environments, so that static[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m analysis tools don’t choke on Node packages when compiling for a non-Node[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m environment.[0m
|
||||
[38;2;248;248;242mexports.run [0m[38;2;249;38;114m= [0m[38;2;248;248;242mexports.eval [0m[38;2;249;38;114m= [0m[38;2;166;226;46mexports.registe[0m[38;2;166;226;46mr[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mthrow[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mError[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mrequire index.coffee, not this file[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Instantiate a Lexer for our use here.[0m
|
||||
[38;2;248;248;242mlexer [0m[38;2;249;38;114m= [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mLexer[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m The real Lexer produces a generic stream of tokens. This object provides a[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m thin wrapper around it, compatible with the Jison API. We can then pass it[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m directly as a “Jison lexer.”[0m
|
||||
[38;2;248;248;242mparser.lexer [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242myylloc[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mrange[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242moptions[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mranges[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255myes[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mle[0m[38;2;166;226;46mx[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtoken [0m[38;2;249;38;114m= [0m[38;2;248;248;242mparser[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtokens[0m[38;2;248;248;242m[[0m[38;2;255;255;255m@pos[0m[38;2;249;38;114m++[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m token[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mtag[0m[38;2;248;248;242m, [0m[38;2;255;255;255m@yytext[0m[38;2;248;248;242m, [0m[38;2;255;255;255m@yylloc[0m[38;2;249;38;114m] =[0m[38;2;248;248;242m token[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mparser.errorToken [0m[38;2;249;38;114m= [0m[38;2;248;248;242mtoken[0m[38;2;248;248;242m.[0m[38;2;248;248;242morigin [0m[38;2;249;38;114mor[0m[38;2;248;248;242m token[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m@yylineno[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255m@yylloc[0m[38;2;248;248;242m.[0m[38;2;248;248;242mfirst_line[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtag [0m[38;2;249;38;114m= [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m tag[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46msetInpu[0m[38;2;166;226;46mt[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(tokens)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mparser.tokens [0m[38;2;249;38;114m= [0m[38;2;248;248;242mtokens[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m@pos[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mupcomingInpu[0m[38;2;166;226;46mt[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Make all the AST nodes visible to the parser.[0m
|
||||
[38;2;248;248;242mparser.yy [0m[38;2;249;38;114m= [0m[38;2;102;217;239mrequire[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m./nodes[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Override Jison's default error handling function.[0m
|
||||
[38;2;166;226;46mparser.yy.parseErro[0m[38;2;166;226;46mr[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(message, {token})[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Disregard Jison's message, it contains redundant line number information.[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Disregard the token, we take its value directly from the lexer in case[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m the error is caused by a generated token which might refer to its origin.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m{[0m[38;2;248;248;242merrorToken[0m[38;2;248;248;242m, [0m[38;2;248;248;242mtokens[0m[38;2;249;38;114m} =[0m[38;2;248;248;242m parser[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242merrorTag[0m[38;2;248;248;242m, [0m[38;2;248;248;242merrorText[0m[38;2;248;248;242m, [0m[38;2;248;248;242merrorLoc[0m[38;2;249;38;114m] =[0m[38;2;248;248;242m errorToken[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242merrorText [0m[38;2;249;38;114m= [0m[38;2;249;38;114mswitch[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m errorToken [0m[38;2;249;38;114mis[0m[38;2;248;248;242m tokens[0m[38;2;248;248;242m[[0m[38;2;248;248;242mtokens[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mend of input[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m errorTag [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;230;219;116m'[0m[38;2;230;219;116mINDENT[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mOUTDENT[0m[38;2;230;219;116m'[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116mindentation[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m errorTag [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;230;219;116m'[0m[38;2;230;219;116mIDENTIFIER[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mNUMBER[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mINFINITY[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mSTRING[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mSTRING_START[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mREGEX[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116mREGEX_START[0m[38;2;230;219;116m'[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m errorTag[0m[38;2;248;248;242m.[0m[38;2;248;248;242mreplace[0m[38;2;255;255;255m([0m[38;2;246;170;17m/_START$/[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m[38;2;255;255;255m)[0m[38;2;248;248;242m.[0m[38;2;248;248;242mtoLowerCase[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m helpers[0m[38;2;248;248;242m.[0m[38;2;248;248;242mnameWhitespaceCharacter errorText[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m The second argument has a `loc` property, which should have the location[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m data for this token. Unfortunately, Jison seems to send an outdated `loc`[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m (from the previous token), so we take the location information directly[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m from the lexer.[0m
|
||||
[38;2;248;248;242m helpers[0m[38;2;248;248;242m.[0m[38;2;248;248;242mthrowSyntaxError [0m[38;2;230;219;116m"[0m[38;2;230;219;116munexpected [0m[38;2;230;159;102m#{[0m[38;2;230;219;116merrorText[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m, [0m[38;2;248;248;242merrorLoc[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Based on http://v8.googlecode.com/svn/branches/bleeding_edge/src/messages.js[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Modified to handle sourceMap[0m
|
||||
[38;2;166;226;46mformatSourcePositio[0m[38;2;166;226;46mn[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(frame, getSourceMapping)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfilename [0m[38;2;249;38;114m= [0m[38;2;190;132;255mundefined[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfileLocation [0m[38;2;249;38;114m= [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m frame[0m[38;2;248;248;242m.[0m[38;2;248;248;242misNative[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfileLocation [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnative[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m frame[0m[38;2;248;248;242m.[0m[38;2;248;248;242misEval[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfilename [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetScriptNameOrSourceURL[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfileLocation [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mframe[0m[38;2;230;219;116m.[0m[38;2;230;219;116mgetEvalOrigin[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;230;159;102m}[0m[38;2;230;219;116m, [0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m filename[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfilename [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetFileName[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
|
||||
[38;2;248;248;242m filename [0m[38;2;249;38;114mor=[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mline [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetLineNumber[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcolumn [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetColumnNumber[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Check for a sourceMap position[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msource [0m[38;2;249;38;114m= [0m[38;2;248;248;242mgetSourceMapping filename[0m[38;2;248;248;242m, [0m[38;2;248;248;242mline[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcolumn[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfileLocation [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m source[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfilename[0m[38;2;230;159;102m}[0m[38;2;230;219;116m:[0m[38;2;230;159;102m#{[0m[38;2;230;219;116msource[0m[38;2;230;219;116m[[0m[38;2;190;132;255m0[0m[38;2;230;219;116m][0m[38;2;230;159;102m}[0m[38;2;230;219;116m:[0m[38;2;230;159;102m#{[0m[38;2;230;219;116msource[0m[38;2;230;219;116m[[0m[38;2;190;132;255m1[0m[38;2;230;219;116m][0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfilename[0m[38;2;230;159;102m}[0m[38;2;230;219;116m:[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mline[0m[38;2;230;159;102m}[0m[38;2;230;219;116m:[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mcolumn[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfunctionName [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetFunctionName[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242misConstructor [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242misConstructor[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242misMethodCall [0m[38;2;249;38;114m= [0m[38;2;249;38;114mnot[0m[38;2;248;248;242m [0m[38;2;255;255;255m([0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242misToplevel[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mor[0m[38;2;248;248;242m isConstructor[0m[38;2;255;255;255m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m isMethodCall[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mmethodName [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetMethodName[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtypeName [0m[38;2;249;38;114m= [0m[38;2;248;248;242mframe[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetTypeName[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m functionName[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtp [0m[38;2;249;38;114m= [0m[38;2;248;248;242mas [0m[38;2;249;38;114m= [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m typeName [0m[38;2;249;38;114mand[0m[38;2;248;248;242m functionName[0m[38;2;248;248;242m.[0m[38;2;102;217;239mindexOf[0m[38;2;248;248;242m typeName[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mtp [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mtypeName[0m[38;2;230;159;102m}[0m[38;2;230;219;116m.[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m methodName [0m[38;2;249;38;114mand[0m[38;2;248;248;242m functionName[0m[38;2;248;248;242m.[0m[38;2;102;217;239mindexOf[0m[38;2;255;255;255m([0m[38;2;230;219;116m"[0m[38;2;230;219;116m.[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mmethodName[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m)[0m[38;2;248;248;242m [0m[38;2;249;38;114misnt[0m[38;2;248;248;242m functionName[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m-[0m[38;2;248;248;242m methodName[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mas [0m[38;2;249;38;114m= [0m[38;2;230;219;116m"[0m[38;2;230;219;116m [as [0m[38;2;230;159;102m#{[0m[38;2;230;219;116mmethodName[0m[38;2;230;159;102m}[0m[38;2;230;219;116m][0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mtp[0m[38;2;230;159;102m}[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfunctionName[0m[38;2;230;159;102m}[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mas[0m[38;2;230;159;102m}[0m[38;2;230;219;116m ([0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfileLocation[0m[38;2;230;159;102m}[0m[38;2;230;219;116m)[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mtypeName[0m[38;2;230;159;102m}[0m[38;2;230;219;116m.[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mmethodName [0m[38;2;249;38;114mor[0m[38;2;230;219;116m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m[38;2;230;159;102m}[0m[38;2;230;219;116m ([0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfileLocation[0m[38;2;230;159;102m}[0m[38;2;230;219;116m)[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m isConstructor[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnew [0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfunctionName [0m[38;2;249;38;114mor[0m[38;2;230;219;116m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m[38;2;230;159;102m}[0m[38;2;230;219;116m ([0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfileLocation[0m[38;2;230;159;102m}[0m[38;2;230;219;116m)[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m functionName[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfunctionName[0m[38;2;230;159;102m}[0m[38;2;230;219;116m ([0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfileLocation[0m[38;2;230;159;102m}[0m[38;2;230;219;116m)[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m fileLocation[0m
|
||||
|
||||
[38;2;166;226;46mgetSourceMa[0m[38;2;166;226;46mp[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(filename, line, column)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Skip files that we didn’t compile, like Node system files that appear in[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m the stack trace, as they never have source maps.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m filename [0m[38;2;249;38;114mis[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m[38;2;248;248;242m [0m[38;2;249;38;114mor[0m[38;2;248;248;242m filename[0m[38;2;248;248;242m.[0m[38;2;102;217;239mslice[0m[38;2;255;255;255m([0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m.[0m[38;2;102;217;239mlastIndexOf[0m[38;2;255;255;255m([0m[38;2;230;219;116m'[0m[38;2;230;219;116m.[0m[38;2;230;219;116m'[0m[38;2;255;255;255m)[0m[38;2;255;255;255m)[0m[38;2;248;248;242m [0m[38;2;249;38;114min[0m[38;2;248;248;242m FILE_EXTENSIONS[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m filename [0m[38;2;249;38;114misnt[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m[38;2;248;248;242m [0m[38;2;249;38;114mand[0m[38;2;248;248;242m sourceMaps[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m sourceMaps[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;248;248;242m[[0m[38;2;248;248;242msourceMaps[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m CoffeeScript compiled in a browser or via `CoffeeScript.compile` or `.run`[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m may get compiled with `options.filename` that’s missing, which becomes[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m `<anonymous>`; but the runtime might request the stack trace with the[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m filename of the script file. See if we have a source map cached under[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m `<anonymous>` that matches the error.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m sourceMaps[0m[38;2;248;248;242m[[0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m[38;2;248;248;242m][0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Work backwards from the most recent anonymous source maps, until we find[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m one that works. This isn’t foolproof; there is a chance that multiple[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m source maps will have line/column pairs that match. But we have no other[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m way to match them. `frame.getFunction().toString()` doesn’t always work,[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m and it’s not foolproof either.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m map [0m[38;2;249;38;114min[0m[38;2;248;248;242m sourceMaps[0m[38;2;248;248;242m[[0m[38;2;230;219;116m'[0m[38;2;230;219;116m<anonymous>[0m[38;2;230;219;116m'[0m[38;2;248;248;242m] [0m[38;2;249;38;114mby[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceLocation [0m[38;2;249;38;114m= [0m[38;2;248;248;242mmap[0m[38;2;248;248;242m.[0m[38;2;248;248;242msourceLocation [0m[38;2;248;248;242m[[0m[38;2;248;248;242mline [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcolumn [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m map [0m[38;2;249;38;114mif[0m[38;2;248;248;242m sourceLocation[0m[38;2;249;38;114m?[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m][0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;249;38;114mand[0m[38;2;248;248;242m sourceLocation[0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m[38;2;249;38;114m?[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m If all else fails, recompile this source to get a source map. We need the[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m previous section (for `<anonymous>`) despite this option, because after it[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m gets compiled we will still need to look it up from[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m `sourceMaps['<anonymous>']` in order to find and return it. That’s why we[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m start searching from the end in the previous block, because most of the[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m time the source map we want is the last one.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m sources[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242manswer [0m[38;2;249;38;114m= [0m[38;2;248;248;242mcompile sources[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;248;248;242m[[0m[38;2;248;248;242msources[0m[38;2;248;248;242m[[0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m][0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfilename[0m[38;2;248;248;242m:[0m[38;2;248;248;242m filename[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceMap[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255myes[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mliterate[0m[38;2;248;248;242m:[0m[38;2;248;248;242m helpers[0m[38;2;248;248;242m.[0m[38;2;248;248;242misLiterate filename[0m
|
||||
[38;2;248;248;242m answer[0m[38;2;248;248;242m.[0m[38;2;248;248;242msourceMap[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Based on [michaelficarra/CoffeeScriptRedux](http://goo.gl/ZTx1p)[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m NodeJS / V8 have no support for transforming positions in stack traces using[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m sourceMap, so we must monkey-patch Error to display CoffeeScript source[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m positions.[0m
|
||||
[38;2;166;226;46mError.prepareStackTrac[0m[38;2;166;226;46me[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(err, stack)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mgetSourceMappin[0m[38;2;166;226;46mg[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(filename, line, column)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242msourceMap [0m[38;2;249;38;114m= [0m[38;2;248;248;242mgetSourceMap filename[0m[38;2;248;248;242m, [0m[38;2;248;248;242mline[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcolumn[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242manswer [0m[38;2;249;38;114m= [0m[38;2;248;248;242msourceMap[0m[38;2;248;248;242m.[0m[38;2;248;248;242msourceLocation [0m[38;2;248;248;242m[[0m[38;2;248;248;242mline [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;248;248;242mcolumn [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m] [0m[38;2;249;38;114mif[0m[38;2;248;248;242m sourceMap[0m[38;2;249;38;114m?[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m answer[0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242manswer[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m] [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;248;248;242manswer[0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m] [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m] [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mframes [0m[38;2;249;38;114m= [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m frame [0m[38;2;249;38;114min[0m[38;2;248;248;242m stack[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mbreak[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m frame[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetFunction[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mis[0m[38;2;248;248;242m exports[0m[38;2;248;248;242m.[0m[38;2;248;248;242mrun[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m at [0m[38;2;230;159;102m#{[0m[38;2;230;219;116mformatSourcePosition frame[0m[38;2;230;219;116m, [0m[38;2;230;219;116mgetSourceMapping[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;159;102m#{[0m[38;2;230;219;116merr[0m[38;2;230;219;116m.[0m[38;2;102;217;239mtoString[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;230;159;102m}[0m[38;2;190;132;255m\n[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mframes[0m[38;2;230;219;116m.[0m[38;2;102;217;239mjoin[0m[38;2;230;219;116m [0m[38;2;230;219;116m'[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m'[0m[38;2;230;159;102m}[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;166;226;46mcheckShebangLin[0m[38;2;166;226;46me[0m[38;2;166;226;46m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(file, input)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mfirstLine [0m[38;2;249;38;114m= [0m[38;2;248;248;242minput[0m[38;2;248;248;242m.[0m[38;2;248;248;242msplit[0m[38;2;255;255;255m([0m[38;2;246;170;17m/$/m[0m[38;2;255;255;255m)[0m[38;2;248;248;242m[[0m[38;2;190;132;255m0[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mrest [0m[38;2;249;38;114m= [0m[38;2;248;248;242mfirstLine[0m[38;2;249;38;114m?[0m[38;2;248;248;242m.[0m[38;2;248;248;242mmatch[0m[38;2;255;255;255m([0m[38;2;246;170;17m/^#!\s*([^\s]+\s*)(.*)/[0m[38;2;255;255;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242margs [0m[38;2;249;38;114m= [0m[38;2;248;248;242mrest[0m[38;2;249;38;114m?[0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;249;38;114m?[0m[38;2;248;248;242m.[0m[38;2;248;248;242msplit[0m[38;2;255;255;255m([0m[38;2;246;170;17m/\s/[0m[38;2;255;255;255m)[0m[38;2;248;248;242m.[0m[38;2;102;217;239mfilter[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m(s)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m->[0m[38;2;248;248;242m s [0m[38;2;249;38;114misnt[0m[38;2;248;248;242m [0m[38;2;230;219;116m'[0m[38;2;230;219;116m'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m args[0m[38;2;249;38;114m?[0m[38;2;248;248;242m.[0m[38;2;248;248;242mlength [0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m console[0m[38;2;248;248;242m.[0m[38;2;102;217;239merror[0m[38;2;248;248;242m [0m[38;2;230;219;116m'''[0m
|
||||
[38;2;230;219;116m The script to be run begins with a shebang line with more than one[0m
|
||||
[38;2;230;219;116m argument. This script will fail on platforms such as Linux which only[0m
|
||||
[38;2;230;219;116m allow a single argument.[0m
|
||||
[38;2;230;219;116m [0m[38;2;230;219;116m'''[0m
|
||||
[38;2;248;248;242m console[0m[38;2;248;248;242m.[0m[38;2;102;217;239merror[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mThe shebang line was: '[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfirstLine[0m[38;2;230;159;102m}[0m[38;2;230;219;116m' in file '[0m[38;2;230;159;102m#{[0m[38;2;230;219;116mfile[0m[38;2;230;159;102m}[0m[38;2;230;219;116m'[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m console[0m[38;2;248;248;242m.[0m[38;2;102;217;239merror[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mThe arguments were: [0m[38;2;230;159;102m#{[0m[38;2;230;219;116mJSON[0m[38;2;230;219;116m.[0m[38;2;230;219;116mstringify args[0m[38;2;230;159;102m}[0m[38;2;230;219;116m"[0m
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
[38;2;117;113;94m// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.[0m
|
||||
|
||||
[38;2;249;38;114mnamespace[0m[38;2;166;226;46m [0m[38;2;166;226;46mMicrosoft.FSharp.Core[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mSystem[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mSystem[0m[38;2;166;226;46m.[0m[38;2;166;226;46mText[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mMicrosoft[0m[38;2;166;226;46m.[0m[38;2;166;226;46mFSharp[0m[38;2;166;226;46m.[0m[38;2;166;226;46mCore[0m[38;2;166;226;46m.[0m[38;2;166;226;46mLanguagePrimitives[0m[38;2;166;226;46m.[0m[38;2;166;226;46mIntrinsicOperators[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mMicrosoft[0m[38;2;166;226;46m.[0m[38;2;166;226;46mFSharp[0m[38;2;166;226;46m.[0m[38;2;166;226;46mCore[0m[38;2;166;226;46m.[0m[38;2;166;226;46mOperators[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mMicrosoft[0m[38;2;166;226;46m.[0m[38;2;166;226;46mFSharp[0m[38;2;166;226;46m.[0m[38;2;166;226;46mCore[0m[38;2;166;226;46m.[0m[38;2;166;226;46mOperators[0m[38;2;166;226;46m.[0m[38;2;166;226;46mChecked[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mMicrosoft[0m[38;2;166;226;46m.[0m[38;2;166;226;46mFSharp[0m[38;2;166;226;46m.[0m[38;2;166;226;46mCollections[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mopen[0m[38;2;248;248;242m [0m[38;2;166;226;46mMicrosoft[0m[38;2;166;226;46m.[0m[38;2;166;226;46mFSharp[0m[38;2;166;226;46m.[0m[38;2;166;226;46mPrimitives[0m[38;2;166;226;46m.[0m[38;2;166;226;46mBasics[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompilationRepresentation[0m[38;2;249;38;114m([0m[38;2;102;217;239mCompilationRepresentationFlags.ModuleSuffix[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<RequireQualifiedAccess>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mmodule[0m[38;2;166;226;46m [0m[38;2;166;226;46mString [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<Literal>][0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/// LOH threshold is calculated from Internal.Utilities.Library.LOH_SIZE_THRESHOLD_BYTES,[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/// and is equal to 80_000 / sizeof<char>[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mLOH_CHAR_THRESHOLD[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m40_000[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mLength[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mlength[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m isNull str [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m str.Length[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mConcat[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mconcat[0m[3;38;2;253;151;31m sep [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstrings [0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mseq[0m[38;2;249;38;114m<[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m>[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mconcatArray[0m[3;38;2;253;151;31m sep [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstrings[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mstring [0m[38;2;249;38;114m[[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mmatch[0m[38;2;248;248;242m length sep [0m[38;2;249;38;114mwith[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m String.Concat strings[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// following line should be used when this overload becomes part of .NET Standard (it's only in .NET Core)[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//| 1 -> String.Join(sep.[0], strings, 0, strings.Length)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;249;38;114m_[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m String.Join[0m[38;2;249;38;114m([0m[38;2;248;248;242msep[0m[38;2;249;38;114m,[0m[38;2;248;248;242m strings[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m,[0m[38;2;248;248;242m strings.Length[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mmatch[0m[38;2;248;248;242m strings [0m[38;2;249;38;114mwith[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m? array[0m[38;2;249;38;114m<[0m[38;2;248;248;242mstring[0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;249;38;114mas[0m[38;2;248;248;242m arr [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m concatArray sep arr[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m? list[0m[38;2;249;38;114m<[0m[38;2;248;248;242mstring[0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;249;38;114mas[0m[38;2;248;248;242m lst [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m lst [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m List.toArray [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m concatArray sep[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;249;38;114m_[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m
|
||||
[38;2;248;248;242m String.Join[0m[38;2;249;38;114m([0m[38;2;248;248;242msep[0m[38;2;249;38;114m,[0m[38;2;248;248;242m strings[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mIterate[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242miter[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31maction [0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;166;226;46mchar [0m[38;2;249;38;114m->[0m[38;2;166;226;46m unit[0m[38;2;249;38;114m)[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114mnot[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mString.IsNullOrEmpty str[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mto[0m[38;2;248;248;242m str.Length [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m action str.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mIterateIndexed[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242miteri[0m[3;38;2;253;151;31m action [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114mnot[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mString.IsNullOrEmpty str[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mf[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m OptimizedClosures.FSharpFunc[0m[38;2;249;38;114m<[0m[38;2;249;38;114m_[0m[38;2;249;38;114m,[0m[38;2;249;38;114m_[0m[38;2;249;38;114m,[0m[38;2;249;38;114m_[0m[38;2;249;38;114m>[0m[38;2;248;248;242m.Adapt[0m[38;2;249;38;114m([0m[38;2;248;248;242maction[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mto[0m[38;2;248;248;242m str.Length [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m f.Invoke[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mMap[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mmap[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mmapping[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mchar [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;166;226;46mchar[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m String.IsNullOrEmpty str [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m String.Empty[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mresult[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m str.ToCharArray[0m[38;2;190;132;255m()[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet mutable[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m c [0m[38;2;249;38;114min[0m[38;2;248;248;242m result [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m result.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m mapping c[0m
|
||||
[38;2;248;248;242m i [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m i [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m String[0m[38;2;249;38;114m([0m[38;2;248;248;242mresult[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mMapIndexed[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mmapi[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mmapping[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mint [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;166;226;46mchar [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;166;226;46mchar[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m length str[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m len [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m String.Empty[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mresult[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m str.ToCharArray[0m[38;2;190;132;255m()[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mf[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m OptimizedClosures.FSharpFunc[0m[38;2;249;38;114m<[0m[38;2;249;38;114m_[0m[38;2;249;38;114m,[0m[38;2;249;38;114m_[0m[38;2;249;38;114m,[0m[38;2;249;38;114m_[0m[38;2;249;38;114m>[0m[38;2;248;248;242m.Adapt[0m[38;2;249;38;114m([0m[38;2;248;248;242mmapping[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet mutable[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m i [0m[38;2;249;38;114m<[0m[38;2;248;248;242m len [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m result.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m f.Invoke[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m,[0m[38;2;248;248;242m result.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m i [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m i [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m String[0m[38;2;249;38;114m([0m[38;2;248;248;242mresult[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mFilter[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mfilter[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mpredicate[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mchar [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;166;226;46mbool[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m length str[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m len [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m String.Empty[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melif[0m[38;2;248;248;242m len [0m[38;2;249;38;114m>[0m[38;2;248;248;242m LOH[0m[38;2;249;38;114m_[0m[38;2;248;248;242mCHAR[0m[38;2;249;38;114m_[0m[38;2;248;248;242mTHRESHOLD [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// By using SB here, which is twice slower than the optimized path, we prevent LOH allocations [0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// and 'stop the world' collections if the filtering results in smaller strings.[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// We also don't pre-allocate SB here, to allow for less mem pressure when filter result is small.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mres[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m StringBuilder[0m[38;2;190;132;255m()[0m
|
||||
[38;2;248;248;242m str [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m iter [0m[38;2;249;38;114m([0m[38;2;249;38;114mfun[0m[3;38;2;253;151;31m c [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m predicate c [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m res.Append c [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m ignore[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m res.ToString[0m[38;2;190;132;255m()[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// Must do it this way, since array.fs is not yet in scope, but this is safe[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mtarget[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked len[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet mutable[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m c [0m[38;2;249;38;114min[0m[38;2;248;248;242m str [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m predicate c [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m target.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m c[0m
|
||||
[38;2;248;248;242m i [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m i [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
|
||||
[38;2;248;248;242m String[0m[38;2;249;38;114m([0m[38;2;248;248;242mtarget[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m,[0m[38;2;248;248;242m i[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mCollect[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mcollect[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mmapping[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mchar [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m String.IsNullOrEmpty str [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m String.Empty[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mres[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m StringBuilder str.Length[0m
|
||||
[38;2;248;248;242m str [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m iter [0m[38;2;249;38;114m([0m[38;2;249;38;114mfun[0m[3;38;2;253;151;31m c [0m[38;2;249;38;114m->[0m[38;2;248;248;242m res.Append[0m[38;2;249;38;114m([0m[38;2;248;248;242mmapping c[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m ignore[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m res.ToString[0m[38;2;190;132;255m()[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mInitialize[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242minit[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mcount[0m[38;2;249;38;114m:[0m[38;2;166;226;46mint[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31minitializer[0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mint[0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m count [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m invalidArgInputMustBeNonNegative [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m count[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mres[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m StringBuilder count[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mto[0m[38;2;248;248;242m count [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mdo[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m res.Append[0m[38;2;249;38;114m([0m[38;2;248;248;242minitializer i[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m|>[0m[38;2;248;248;242m ignore[0m
|
||||
[38;2;248;248;242m res.ToString[0m[38;2;190;132;255m()[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mReplicate[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mreplicate[0m[3;38;2;253;151;31m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mcount[0m[38;2;249;38;114m:[0m[38;2;166;226;46mint[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m count [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m invalidArgInputMustBeNonNegative [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m count[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m length str[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m len [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114m||[0m[38;2;248;248;242m count [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m String.Empty[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melif[0m[38;2;248;248;242m len [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m String[0m[38;2;249;38;114m([0m[38;2;248;248;242mstr.[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m,[0m[38;2;248;248;242m count[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melif[0m[38;2;248;248;242m count [0m[38;2;249;38;114m<[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mmatch[0m[38;2;248;248;242m count [0m[38;2;249;38;114mwith[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m str[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m String.Concat[0m[38;2;249;38;114m([0m[38;2;248;248;242mstr[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m String.Concat[0m[38;2;249;38;114m([0m[38;2;248;248;242mstr[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;249;38;114m_[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m String.Concat[0m[38;2;249;38;114m([0m[38;2;248;248;242mstr[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str[0m[38;2;249;38;114m,[0m[38;2;248;248;242m str[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// Using the primitive, because array.fs is not yet in scope. It's safe: both len and count are positive.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mtarget[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked [0m[38;2;249;38;114m([0m[38;2;248;248;242mlen [0m[38;2;249;38;114m*[0m[38;2;248;248;242m count[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242msource[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m str.ToCharArray[0m[38;2;190;132;255m()[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// O(log(n)) performance loop:[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// Copy first string, then keep copying what we already copied [0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// (i.e., doubling it) until we reach or pass the halfway point[0m
|
||||
[38;2;248;248;242m Array.Copy[0m[38;2;249;38;114m([0m[38;2;248;248;242msource[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m,[0m[38;2;248;248;242m target[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m,[0m[38;2;248;248;242m len[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet mutable[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m len[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m i [0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m target.Length [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m Array.Copy[0m[38;2;249;38;114m([0m[38;2;248;248;242mtarget[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m,[0m[38;2;248;248;242m target[0m[38;2;249;38;114m,[0m[38;2;248;248;242m i[0m[38;2;249;38;114m,[0m[38;2;248;248;242m i[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m i [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m i [0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m// finally, copy the remain half, or less-then half[0m
|
||||
[38;2;248;248;242m Array.Copy[0m[38;2;249;38;114m([0m[38;2;248;248;242mtarget[0m[38;2;249;38;114m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m,[0m[38;2;248;248;242m target[0m[38;2;249;38;114m,[0m[38;2;248;248;242m i[0m[38;2;249;38;114m,[0m[38;2;248;248;242m target.Length [0m[38;2;249;38;114m-[0m[38;2;248;248;242m i[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m String[0m[38;2;249;38;114m([0m[38;2;248;248;242mtarget[0m[38;2;249;38;114m)[0m
|
||||
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mForAll[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mforall[0m[3;38;2;253;151;31m predicate [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m String.IsNullOrEmpty str [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mtrue[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;249;38;114m rec[0m[38;2;248;248;242m [0m[38;2;248;248;242mcheck[0m[3;38;2;253;151;31m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mi [0m[38;2;249;38;114m>[0m[38;2;249;38;114m=[0m[38;2;248;248;242m str.Length[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m||[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mpredicate str.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m check [0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m check [0m[38;2;190;132;255m0[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239m[<CompiledName[0m[38;2;249;38;114m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mExists[0m[38;2;230;219;116m"[0m[38;2;249;38;114m)[0m[38;2;102;217;239m>][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242mexists[0m[3;38;2;253;151;31m predicate [0m[38;2;249;38;114m([0m[3;38;2;253;151;31mstr[0m[38;2;249;38;114m:[0m[38;2;166;226;46mstring[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m String.IsNullOrEmpty str [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mfalse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlet[0m[38;2;249;38;114m rec[0m[38;2;248;248;242m [0m[38;2;248;248;242mcheck[0m[3;38;2;253;151;31m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mi [0m[38;2;249;38;114m<[0m[38;2;248;248;242m str.Length[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m&&[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mpredicate str.[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m||[0m[38;2;248;248;242m check [0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m check [0m[38;2;190;132;255m0[0m[38;2;248;248;242m [0m
|
||||
@@ -0,0 +1,323 @@
|
||||
[38;2;117;113;94mC Fortran 77 implementation of a quicksort algorithm for arrays with[0m
|
||||
[38;2;117;113;94mC real entries.[0m
|
||||
[38;2;117;113;94mC ----------[0m
|
||||
[38;2;117;113;94mC June 2019 [0m
|
||||
[38;2;117;113;94mC Jason Allen Anema, Ph.D.[0m
|
||||
[38;2;117;113;94mC Division of Statistical Genomics[0m
|
||||
[38;2;117;113;94mC Department of Genetics[0m
|
||||
[38;2;117;113;94mC Washington University School of Medicine in St. Louis[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;117;113;94mC This work is partially supported NIH grant AG023746[0m
|
||||
[38;2;117;113;94mC ----------[0m
|
||||
[38;2;117;113;94mC Insertion sort is used for short arrays, as quicksort is slower on[0m
|
||||
[38;2;117;113;94mC these.[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;117;113;94mC Hoare partition scheme is used (sweeping left and right), as it does[0m
|
||||
[38;2;117;113;94mC three times fewer swaps on average that the Lamuto partition scheme.[0m
|
||||
[38;2;117;113;94mC In conjunction with this, tripartite partition is performed[0m
|
||||
[38;2;117;113;94mC concurrently (solving the "Dutch National Flag problem"). This avoids [0m
|
||||
[38;2;117;113;94mC horrible runtimes on highly repetitive arrays. For example, without [0m
|
||||
[38;2;117;113;94mC this, an array of random zeros and ones would have a runtime of[0m
|
||||
[38;2;117;113;94mC O(N^2), but now has a runtime of O(N). The runtime for this algorthm[0m
|
||||
[38;2;117;113;94mC on arrays with k highly repetitive entries is now O(kN).[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;117;113;94mC For medium length (sub)arrays, pivots are choosen using[0m
|
||||
[38;2;117;113;94mC Median-of-Three, and those three items are sorted. For longer (sub)arrays[0m
|
||||
[38;2;117;113;94mC the pseudomedian of nine (Median of medians). This avoids O(N^2) runtime on[0m
|
||||
[38;2;117;113;94mC nonrandom inputs such as increasing and decreasing sequences. [0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC See Louis Bentley, Jon & McIlroy, Douglas. (1993). Engineering a Sort Function.[0m
|
||||
[38;2;117;113;94mC Softw., Pract. Exper.. 23. 1249-1265. 10.1002/spe.4380231105 for details. [0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC The ordering on elements of the array are defined by a comparison[0m
|
||||
[38;2;117;113;94mC function,compar, that is a user-supplied INTEGER*2 function of the form[0m
|
||||
[38;2;117;113;94mC compar(a,b) which returns:[0m
|
||||
[38;2;117;113;94mC -1 if a precedes b[0m
|
||||
[38;2;117;113;94mC +1 if b precedes a[0m
|
||||
[38;2;117;113;94mC 0 is a and b are considered equivalent[0m
|
||||
[38;2;117;113;94mC and thus defines a total ordering.[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;117;113;94mC If one would like to use the standard order on integers, the[0m
|
||||
[38;2;117;113;94mC compar function could be written in a file "compint.F" as:[0m
|
||||
[38;2;117;113;94mC ----------------------------------------------------------------[0m
|
||||
[38;2;117;113;94mC INTEGER*2 FUNCTION compint(a,b)[0m
|
||||
[38;2;117;113;94mC INTEGER a, b[0m
|
||||
[38;2;117;113;94mC if(a.lt.b)then[0m
|
||||
[38;2;117;113;94mC compint = -1[0m
|
||||
[38;2;117;113;94mC elseif(a.gt.b)then[0m
|
||||
[38;2;117;113;94mC compint = +1[0m
|
||||
[38;2;117;113;94mC else[0m
|
||||
[38;2;117;113;94mC compint = 0[0m
|
||||
[38;2;117;113;94mC endif[0m
|
||||
[38;2;117;113;94mC END[0m
|
||||
[38;2;117;113;94mC ----------------------------------------------------------------[0m
|
||||
[38;2;117;113;94mC Then in your program, call quicksort with:[0m
|
||||
[38;2;117;113;94mC call quicksort_real_F77(array, n, compint)[0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC The maximal length of an array in this implementation is (2^31-1),[0m
|
||||
[38;2;117;113;94mC but can be changed to allow for length up to (2^63-1) by changing the[0m
|
||||
[38;2;117;113;94mC data types of the relevant variables and constants. If you wish to [0m
|
||||
[38;2;117;113;94mC sort longer arrays, of length N, you'll need to customize variable [0m
|
||||
[38;2;117;113;94mC and constant types and set mstack to be at least (2*log_2(N)+2). [0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC ----------------------------------------------------------------[0m
|
||||
[38;2;117;113;94mC Copyright 2019 Jason Allen Anema[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;117;113;94mC Permission is hereby granted, free of charge, to any person obtaining[0m
|
||||
[38;2;117;113;94mC a copy of this software and associated documentation files (the "Software"),[0m
|
||||
[38;2;117;113;94mC to deal in the Software without restriction, including without limitation the[0m
|
||||
[38;2;117;113;94mC rights to use, copy, modify, merge, publish, distribute, sublicense, and/or[0m
|
||||
[38;2;117;113;94mC sell copies of the Software, and to permit persons to whom the Software is[0m
|
||||
[38;2;117;113;94mC furnished to do so, subject to the following conditions:[0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC The above copyright notice and this permission notice shall be included[0m
|
||||
[38;2;117;113;94mC in all copies or substantial portions of the Software.[0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS[0m
|
||||
[38;2;117;113;94mC OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,[0m
|
||||
[38;2;117;113;94mC FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL[0m
|
||||
[38;2;117;113;94mC THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER[0m
|
||||
[38;2;117;113;94mC LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING[0m
|
||||
[38;2;117;113;94mC FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS[0m
|
||||
[38;2;117;113;94mC IN THE SOFTWARE.[0m
|
||||
[38;2;117;113;94mC -------------------------------------------------------------------[0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mSUBROUTINE[0m[38;2;248;248;242m [0m[38;2;166;226;46mquicksort_real_F77[0m[38;2;248;248;242m([0m[3;38;2;253;151;31marray[0m[38;2;248;248;242m,[0m[3;38;2;253;151;31mn[0m[38;2;248;248;242m,[0m[3;38;2;253;151;31mcompar[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mINTEGER[0m[38;2;248;248;242m n, maxins, maxmid, mstack[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mREAL[0m[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(n)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mPARAMETER[0m[38;2;248;248;242m (maxins[0m[38;2;249;38;114m = [0m[38;2;190;132;255m7[0m[38;2;248;248;242m, maxmid[0m[38;2;249;38;114m = [0m[38;2;190;132;255m40[0m[38;2;248;248;242m, mstack[0m[38;2;249;38;114m = [0m[38;2;190;132;255m128[0m[38;2;248;248;242m)[0m
|
||||
[38;2;117;113;94mC maxins: maximal size of (sub)arrays to be sorted with[0m
|
||||
[38;2;117;113;94mC insertion sort.[0m
|
||||
[38;2;117;113;94mC maxmid: maximal size of (sub)arrays that will be quicksorted with[0m
|
||||
[38;2;117;113;94mC Median-of-Three pivots.[0m
|
||||
[38;2;117;113;94mC mstack: maximal size of required auxiliary storage (a stack), plus 2 [0m
|
||||
[38;2;117;113;94mC extra spots, which tracks the starts and ends of yet unsorted [0m
|
||||
[38;2;117;113;94mC subarrays. mstack = 130 is large enough to handle arrays up to [0m
|
||||
[38;2;117;113;94mC length 2^63-1. This maximal size follows from[0m
|
||||
[38;2;117;113;94mC processing smaller arrays first and pigeonhole principal.[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mINTEGER[0m[38;2;248;248;242m a, d, i, j, k, s, lo, mid, hi, tstack, [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(mstack)[0m
|
||||
[38;2;117;113;94mC a, d, i, j, k, s: indices[0m
|
||||
[38;2;117;113;94mC lo, mid, and hi: their natural location in a (sub)array[0m
|
||||
[38;2;117;113;94mC tstack: equal to twice the number of additional subarrays still [0m
|
||||
[38;2;117;113;94mC needing to be sorted[0m
|
||||
[38;2;117;113;94mC bstack: stack of the endpoints of unsorted subarrays[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mINTEGER[0m[38;2;248;248;242m pm1, pm2, pm3, pm4, pm5, pm6, pm7, pm8, pm9[0m
|
||||
[38;2;117;113;94mC for pseudomedian of nine positions in (sub)arrays[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mREAL[0m[38;2;248;248;242m piv, temp[0m
|
||||
[38;2;117;113;94mC piv is to store the pivot's value[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mEXTERNAL[0m[38;2;248;248;242m compar[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mINTEGER[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;248;248;242m compar[0m
|
||||
[38;2;117;113;94mC compar is a user-supplied INTEGER*2 function of the form[0m
|
||||
[38;2;117;113;94mC compar(a,b) which returns:[0m
|
||||
[38;2;117;113;94mC -1 if a precedes b[0m
|
||||
[38;2;117;113;94mC +1 if b precedes a[0m
|
||||
[38;2;117;113;94mC 0 is a and b are considered equivalent[0m
|
||||
[38;2;117;113;94mC and thus defines a total ordering. [0m
|
||||
[38;2;248;248;242m tstack[0m[38;2;249;38;114m = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m lo[0m[38;2;249;38;114m = [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m hi[0m[38;2;249;38;114m = [0m[38;2;248;248;242mn[0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC Insertion sort subarrays of size maxins or less[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1.[0m[38;2;248;248;242mle.maxins)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdo[0m[38;2;248;248;242m [0m[38;2;190;132;255m10[0m[38;2;248;248;242m, i[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, hi, 1[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdo[0m[3;38;2;253;151;31m 11 [0m[38;2;248;248;242mj[0m[38;2;249;38;114m = [0m[38;2;248;248;242mi [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, lo, [0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j), temp)[0m[38;2;249;38;114m.le.[0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m2[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114m=[0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m11[0m[38;2;248;248;242m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;248;248;242m j[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m10[0m[38;2;248;248;242m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(tstack[0m[38;2;249;38;114m.eq.[0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;249;38;114mreturn[0m
|
||||
[38;2;117;113;94mC Pop the bstack, and start new partitioning[0m
|
||||
[38;2;248;248;242m hi[0m[38;2;249;38;114m = [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(tstack)[0m
|
||||
[38;2;248;248;242m lo[0m[38;2;249;38;114m = [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(tstack[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m tstack[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtstack [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;117;113;94mC Use Median-of-Three as choice of pivot (median of lo, middle, hi)[0m
|
||||
[38;2;117;113;94mC and reorder those elements appropriately when subarrays are medium[0m
|
||||
[38;2;117;113;94mC length (between maxins and maxmid)[0m
|
||||
[38;2;248;248;242m mid[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo[0m[38;2;249;38;114m.le.[0m[38;2;248;248;242mmaxmid)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Use pseudomedian of nine (Median of medians) as choice of pivot when [0m
|
||||
[38;2;117;113;94mC subarrays are longer than maxmid. Note that doing it this way requires only 12[0m
|
||||
[38;2;117;113;94mC comparisons for finding the pivot.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melseif[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1.[0m[38;2;248;248;242mgt.maxmid)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m pm1[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo[0m
|
||||
[38;2;248;248;242m pm5[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m pm9[0m[38;2;249;38;114m = [0m[38;2;248;248;242mhi[0m
|
||||
[38;2;248;248;242m pm3[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (pm5[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m pm7[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpm5 [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mpm5)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m pm2[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (pm3[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m pm4[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpm3 [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (pm5[0m[38;2;249;38;114m-[0m[38;2;248;248;242mpm3)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m pm6[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpm5 [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (pm7[0m[38;2;249;38;114m-[0m[38;2;248;248;242mpm5)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m pm8[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpm7 [0m[38;2;249;38;114m+[0m[38;2;248;248;242m (pm9[0m[38;2;249;38;114m-[0m[38;2;248;248;242mpm7)[0m[38;2;249;38;114m/[0m[38;2;190;132;255m2[0m
|
||||
[38;2;117;113;94mC Median and sorting for pm1, pm2, pm3[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm1))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm1)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm1)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm3), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm1))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm3)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm3)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm1)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm1)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm3), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm3)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm3)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Median and sorting for pm4, pm5, pm6[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm4))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm4)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm4)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm6), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm4))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm6)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm6)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm4)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm4)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm6), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm6)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm6)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Median and sorting for pm7, pm8, pm9[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm7))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm7)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm7)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm9), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm7))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm9)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm9)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm7)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm7)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm9), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm9)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm9)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Median of the medians (which are now pm2, pm5, pm8)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm2)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8), [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5))[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm8)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(pm5)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Pivot assigned for medium and long length subarrays.[0m
|
||||
[38;2;117;113;94mC Note that pm5 = mid[0m
|
||||
[38;2;248;248;242m piv[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(mid)[0m
|
||||
[38;2;117;113;94mC Initialize pointers for partitioning[0m
|
||||
[38;2;248;248;242m i[0m[38;2;249;38;114m = [0m[38;2;248;248;242mlo[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m j[0m[38;2;249;38;114m = [0m[38;2;248;248;242mhi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m
|
||||
[38;2;117;113;94mC Initialize counts of repeat values of pivot.[0m
|
||||
[38;2;248;248;242m a[0m[38;2;249;38;114m = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m d[0m[38;2;249;38;114m = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;117;113;94mC Beginning of outer loop for placing pivot.[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m3[0m[38;2;248;248;242m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;117;113;94mC Scan up to find an element > piv.[0m
|
||||
[38;2;248;248;242m i[0m[38;2;249;38;114m = [0m[38;2;248;248;242mi [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;117;113;94mC Check if pointers crossed.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m.lt.[0m[38;2;248;248;242mi)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m5[0m
|
||||
[38;2;117;113;94mC Check if i pointer hit hi boundary.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(i[0m[38;2;249;38;114m.eq.[0m[38;2;248;248;242mhi)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m4[0m
|
||||
[38;2;117;113;94mC [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i), piv)[0m[38;2;249;38;114m.eq.[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m3[0m
|
||||
[38;2;117;113;94mC Check for copies of pivot from scanning right. [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i), piv)[0m[38;2;249;38;114m.eq.[0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo[0m[38;2;249;38;114m+[0m[38;2;248;248;242ma)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo[0m[38;2;249;38;114m+[0m[38;2;248;248;242ma)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpiv[0m
|
||||
[38;2;248;248;242m a[0m[38;2;249;38;114m = [0m[38;2;248;248;242ma [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m3[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Beginning of innerloop for placing pivot.[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m4[0m[38;2;248;248;242m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;117;113;94mC Scan down to find an element < piv.[0m
|
||||
[38;2;248;248;242m j[0m[38;2;249;38;114m = [0m[38;2;248;248;242mj [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;117;113;94mC Check if pointers crossed.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m.lt.[0m[38;2;248;248;242mi)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m5[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j), piv)[0m[38;2;249;38;114m.eq.[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m4[0m
|
||||
[38;2;117;113;94mC Check for copies of pivot from scanning left. [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m([0m[38;2;248;248;242mcompar[0m[38;2;248;248;242m([0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j), piv)[0m[38;2;249;38;114m.eq.[0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242md)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242md)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpiv[0m
|
||||
[38;2;248;248;242m d[0m[38;2;249;38;114m = [0m[38;2;248;248;242md [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m4[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC Check if pointers crossed.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m.lt.[0m[38;2;248;248;242mi)[0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m5[0m
|
||||
[38;2;117;113;94mC Exchange elements[0m
|
||||
[38;2;248;248;242m temp[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtemp[0m
|
||||
[38;2;117;113;94mC End of outermost loop for placing pivot.[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m3[0m
|
||||
[38;2;117;113;94mC Insert all copies of pivot in appropriate place[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255m5[0m[38;2;248;248;242m s[0m[38;2;249;38;114m = [0m[38;2;102;217;239mMIN[0m[38;2;248;248;242m(a, j[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo[0m[38;2;249;38;114m-[0m[38;2;248;248;242ma[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mDO[0m[3;38;2;253;151;31m 6 [0m[38;2;248;248;242mk[0m[38;2;249;38;114m = [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, s[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(lo[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m+[0m[38;2;248;248;242mk)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i[0m[38;2;249;38;114m-[0m[38;2;248;248;242mk)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(i[0m[38;2;249;38;114m-[0m[38;2;248;248;242mk)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpiv[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m6[0m[38;2;248;248;242m [0m[38;2;249;38;114mCONTINUE[0m
|
||||
[38;2;248;248;242m s[0m[38;2;249;38;114m = [0m[38;2;102;217;239mMIN[0m[38;2;248;248;242m(d, hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mj[0m[38;2;249;38;114m-[0m[38;2;248;248;242md)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mDO[0m[3;38;2;253;151;31m 7 [0m[38;2;248;248;242mk[0m[38;2;249;38;114m = [0m[38;2;190;132;255m1[0m[38;2;248;248;242m, s[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m-[0m[38;2;248;248;242mk)[0m[38;2;249;38;114m = [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m+[0m[38;2;248;248;242mk)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242marray[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m+[0m[38;2;248;248;242mk)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mpiv[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31m7[0m[38;2;248;248;242m [0m[38;2;249;38;114mCONTINUE[0m
|
||||
[38;2;117;113;94mC Increase effective stack size[0m
|
||||
[38;2;248;248;242m tstack[0m[38;2;249;38;114m = [0m[38;2;248;248;242mtstack [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m
|
||||
[38;2;117;113;94mC Push pointers to larger subarray on stack for later processing,[0m
|
||||
[38;2;117;113;94mC process smaller subarray immediately. [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(tstack[0m[38;2;249;38;114m.gt.[0m[38;2;248;248;242mmstack) [0m[38;2;249;38;114mTHEN[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mWRITE[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;248;248;242m,[0m[38;2;249;38;114m*[0m[38;2;248;248;242m)[0m[38;2;230;219;116m'Stack size is too small in quicksort fortran code quicksort_real_F77.F'[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mWRITE[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;248;248;242m,[0m[38;2;249;38;114m*[0m[38;2;248;248;242m)[0m[38;2;230;219;116m'Are you sure you want to sort an array this long?'[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mWRITE[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;248;248;242m,[0m[38;2;249;38;114m*[0m[38;2;248;248;242m)[0m[38;2;230;219;116m'Your array has more than 2^63-1 entries?'[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mWRITE[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;248;248;242m,[0m[38;2;249;38;114m*[0m[38;2;248;248;242m)[0m[38;2;230;219;116m'If so, set mstack parameter to be at least:'[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mWRITE[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;248;248;242m,[0m[38;2;249;38;114m*[0m[38;2;248;248;242m)[0m[38;2;230;219;116m'2*ceiling(log_2(N))+2, for N = length of array,'[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mWRITE[0m[38;2;248;248;242m([0m[38;2;249;38;114m*[0m[38;2;248;248;242m,[0m[38;2;249;38;114m*[0m[38;2;248;248;242m)[0m[38;2;230;219;116m'and recompile this subroutine.'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mRETURN[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m(hi[0m[38;2;249;38;114m-[0m[38;2;248;248;242mj[0m[38;2;249;38;114m-[0m[38;2;248;248;242md[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1.[0m[38;2;248;248;242mge.j[0m[38;2;249;38;114m-[0m[38;2;248;248;242ma[0m[38;2;249;38;114m-[0m[38;2;248;248;242mlo)[0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(tstack)[0m[38;2;249;38;114m = [0m[38;2;248;248;242mhi[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(tstack[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114m = [0m[38;2;102;217;239mMIN[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m+[0m[38;2;248;248;242md[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, hi)[0m
|
||||
[38;2;248;248;242m hi[0m[38;2;249;38;114m=[0m[38;2;102;217;239mMAX[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m-[0m[38;2;248;248;242ma,lo)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(tstack)[0m[38;2;249;38;114m=[0m[38;2;102;217;239mMAX[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m-[0m[38;2;248;248;242ma,lo)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mbstack[0m[38;2;248;248;242m(tstack[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m[38;2;249;38;114m=[0m[38;2;248;248;242mlo[0m
|
||||
[38;2;248;248;242m lo[0m[38;2;249;38;114m=[0m[38;2;102;217;239mMIN[0m[38;2;248;248;242m(j[0m[38;2;249;38;114m+[0m[38;2;248;248;242md[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;248;248;242m,hi)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;117;113;94mC[0m
|
||||
[38;2;117;113;94mC end of outermost if statement [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mgoto[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m1[0m
|
||||
[38;2;117;113;94mC END of subroutine quicksort[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mEND[0m
|
||||
@@ -0,0 +1,119 @@
|
||||
[38;2;249;38;114mprogram[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_savetxt[0m
|
||||
[38;2;249;38;114muse[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstdlib_kinds[0m[38;2;248;248;242m, [0m[38;2;249;38;114monly[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;102;217;239mint32[0m[38;2;248;248;242m, sp, dp[0m
|
||||
[38;2;249;38;114muse[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstdlib_io[0m[38;2;248;248;242m, [0m[38;2;249;38;114monly[0m[38;2;248;248;242m:[0m[38;2;248;248;242m loadtxt, savetxt[0m
|
||||
[38;2;249;38;114muse[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstdlib_error[0m[38;2;248;248;242m, [0m[38;2;249;38;114monly[0m[38;2;248;248;242m:[0m[38;2;248;248;242m check[0m
|
||||
[38;2;249;38;114mimplicit[0m[38;2;248;248;242m [0m[38;2;249;38;114mnone[0m
|
||||
|
||||
[3;38;2;102;217;239mcharacter(:)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mallocatable[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
|
||||
[38;2;248;248;242moutpath [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242mget_outpath[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m//[0m[38;2;248;248;242m [0m[38;2;230;219;116m"/tmp.dat"[0m
|
||||
|
||||
[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mtest_iint32[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mtest_rsp[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mtest_rdp[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mtest_csp[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mtest_cdp[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;249;38;114mcontains[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfunction[0m[38;2;248;248;242m [0m[38;2;166;226;46mget_outpath[0m[38;2;248;248;242m([0m[38;2;248;248;242m) [0m[38;2;249;38;114mresult[0m[38;2;248;248;242m([0m[3;38;2;253;151;31moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m integer [0m[38;2;249;38;114m::[0m[38;2;248;248;242m ierr[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(256)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255margv[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(:)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mallocatable[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mget_command_argument[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, argv, status[0m[38;2;249;38;114m=[0m[38;2;248;248;242mierr[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mierr[0m[38;2;249;38;114m==[0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m outpath [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mtrim[0m[38;2;248;248;242m([0m[38;2;248;248;242margv[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m outpath [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m'.'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;249;38;114mif[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114mfunction[0m[38;2;248;248;242m [0m[38;2;166;226;46mget_outpath[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_iint32[0m[38;2;248;248;242m([0m[3;38;2;253;151;31moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(*)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mintent[0m[38;2;248;248;242m([0m[38;2;190;132;255min[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minteger[0m[38;2;248;248;242m([0m[38;2;102;217;239mint32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, [0m[38;2;248;248;242me[0m[38;2;248;248;242m([0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minteger[0m[38;2;248;248;242m([0m[38;2;102;217;239mint32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, allocatable [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md2[0m[38;2;248;248;242m([0m[38;2;248;248;242m:[0m[38;2;248;248;242m,[0m[38;2;248;248;242m :[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m d [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242md[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m e [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, e[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242me[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m
|
||||
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_rsp[0m[38;2;248;248;242m([0m[3;38;2;253;151;31moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(*)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mintent[0m[38;2;248;248;242m([0m[38;2;190;132;255min[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mreal[0m[38;2;248;248;242m([0m[38;2;248;248;242msp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, [0m[38;2;248;248;242me[0m[38;2;248;248;242m([0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mreal[0m[38;2;248;248;242m([0m[38;2;248;248;242msp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, allocatable [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md2[0m[38;2;248;248;242m([0m[38;2;248;248;242m:[0m[38;2;248;248;242m,[0m[38;2;248;248;242m :[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m d [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242md[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._sp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m e [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, e[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242me[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._sp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_rsp[0m
|
||||
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_rdp[0m[38;2;248;248;242m([0m[3;38;2;253;151;31moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(*)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mintent[0m[38;2;248;248;242m([0m[38;2;190;132;255min[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mreal[0m[38;2;248;248;242m([0m[38;2;248;248;242mdp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, [0m[38;2;248;248;242me[0m[38;2;248;248;242m([0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mreal[0m[38;2;248;248;242m([0m[38;2;248;248;242mdp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, allocatable [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md2[0m[38;2;248;248;242m([0m[38;2;248;248;242m:[0m[38;2;248;248;242m,[0m[38;2;248;248;242m :[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m d [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242md[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._dp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m e [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, e[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242me[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._dp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_rdp[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_csp[0m[38;2;248;248;242m([0m[3;38;2;253;151;31moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(*)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mintent[0m[38;2;248;248;242m([0m[38;2;190;132;255min[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcomplex[0m[38;2;248;248;242m([0m[38;2;248;248;242msp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, [0m[38;2;248;248;242me[0m[38;2;248;248;242m([0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcomplex[0m[38;2;248;248;242m([0m[38;2;248;248;242msp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, allocatable [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md2[0m[38;2;248;248;242m([0m[38;2;248;248;242m:[0m[38;2;248;248;242m,[0m[38;2;248;248;242m :[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m d [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mcmplx[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,kind[0m[38;2;249;38;114m=[0m[38;2;248;248;242msp[0m[38;2;248;248;242m)[0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242md[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._sp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m e [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mcmplx[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,kind[0m[38;2;249;38;114m=[0m[38;2;248;248;242msp[0m[38;2;248;248;242m)[0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, e[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242me[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._sp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_csp[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_cdp[0m[38;2;248;248;242m([0m[3;38;2;253;151;31moutpath[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mcharacter(*)[0m[38;2;248;248;242m, [0m[38;2;249;38;114mintent[0m[38;2;248;248;242m([0m[38;2;190;132;255min[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;255;255;255moutpath[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcomplex[0m[38;2;248;248;242m([0m[38;2;248;248;242mdp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, [0m[38;2;248;248;242me[0m[38;2;248;248;242m([0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mcomplex[0m[38;2;248;248;242m([0m[38;2;248;248;242mdp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m, allocatable [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[38;2;248;248;242md2[0m[38;2;248;248;242m([0m[38;2;248;248;242m:[0m[38;2;248;248;242m,[0m[38;2;248;248;242m :[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m d [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mcmplx[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._dp[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1._dp[0m[38;2;248;248;242m,kind[0m[38;2;249;38;114m=[0m[38;2;248;248;242mdp[0m[38;2;248;248;242m)[0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242md[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._dp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m e [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;102;217;239mcmplx[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,kind[0m[38;2;249;38;114m=[0m[38;2;248;248;242mdp[0m[38;2;248;248;242m)[0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;102;217;239mreshape[0m[38;2;248;248;242m([0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239msavetxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, e[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mloadtxt[0m[38;2;248;248;242m([0m[38;2;248;248;242moutpath, d2[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mshape[0m[38;2;248;248;242m([0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcall[0m[38;2;248;248;242m [0m[38;2;102;217;239mcheck[0m[38;2;248;248;242m([0m[38;2;102;217;239mall[0m[38;2;248;248;242m([0m[38;2;102;217;239mabs[0m[38;2;248;248;242m([0m[38;2;248;248;242me[0m[38;2;249;38;114m-[0m[38;2;248;248;242md2[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;102;217;239mepsilon[0m[38;2;248;248;242m([0m[38;2;190;132;255m1._dp[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114msubroutine[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_cdp[0m
|
||||
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114mprogram[0m[38;2;248;248;242m [0m[38;2;166;226;46mtest_savetxt[0m
|
||||
@@ -0,0 +1,5 @@
|
||||
[38;2;249;38;114m&[0m[3;38;2;102;217;239mTEST[0m
|
||||
[38;2;249;38;114mFOO[0m[38;2;249;38;114m=[0m[38;2;190;132;255m0[0m[38;2;248;248;242m,[0m
|
||||
[38;2;249;38;114mBAR[0m[38;2;249;38;114m=[0m[38;2;190;132;255m1.0[0m[38;2;248;248;242m,[0m
|
||||
[38;2;249;38;114mBAZ[0m[38;2;249;38;114m=[0m[38;2;230;219;116m'Hello, World!'[0m
|
||||
[38;2;249;38;114m/[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.bak (editor etc backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.dpkg-dist (Debian dpkg backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.dpkg-old (Debian dpkg backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.in (build system input) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.in.in (build system input, doubly replaced) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.old (editor etc backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.orig (editor, diff etc backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.orig~ (backup of an editor, diff etc backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.rpmnew (Red Hat rpm backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.rpmorig (Red Hat rpm backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo.rpmsave (Red Hat rpm backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m foo~ (editor backup) should highlight same as foo[0m
|
||||
@@ -0,0 +1 @@
|
||||
[38;2;248;248;242m// foo~ for unknown foo should not highlight[0m
|
||||
@@ -0,0 +1,197 @@
|
||||
[38;2;255;255;255m<?[0m[38;2;249;38;114mxml[0m[38;2;248;248;242m [0m[38;2;166;226;46mversion[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m1.0[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mencoding[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mUTF-8[0m[38;2;255;255;255m"[0m[38;2;255;255;255m?>[0m
|
||||
[38;2;117;113;94m<%--[0m
|
||||
[38;2;117;113;94m Licensed to the Apache Software Foundation (ASF) under one or more[0m
|
||||
[38;2;117;113;94m contributor license agreements. See the NOTICE file distributed with[0m
|
||||
[38;2;117;113;94m this work for additional information regarding copyright ownership.[0m
|
||||
[38;2;117;113;94m The ASF licenses this file to You under the Apache License, Version 2.0[0m
|
||||
[38;2;117;113;94m (the "License"); you may not use this file except in compliance with[0m
|
||||
[38;2;117;113;94m the License. You may obtain a copy of the License at[0m
|
||||
|
||||
[38;2;117;113;94m http://www.apache.org/licenses/LICENSE-2.0[0m
|
||||
|
||||
[38;2;117;113;94m Unless required by applicable law or agreed to in writing, software[0m
|
||||
[38;2;117;113;94m distributed under the License is distributed on an "AS IS" BASIS,[0m
|
||||
[38;2;117;113;94m WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.[0m
|
||||
[38;2;117;113;94m See the License for the specific language governing permissions and[0m
|
||||
[38;2;117;113;94m limitations under the License.[0m
|
||||
[38;2;117;113;94m--%>[0m
|
||||
[38;2;248;248;242m<%@[0m[38;2;249;38;114mpage[0m[38;2;248;248;242m [0m[38;2;190;132;255msession[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;190;132;255mcontentType[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mtext/html; charset=ISO-8859-1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m<%@[0m[38;2;249;38;114mpage[0m[38;2;248;248;242m [0m[38;2;190;132;255mimport[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mjava.util.Enumeration[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m<%@[0m[38;2;249;38;114mpage[0m[38;2;248;248;242m [0m[38;2;190;132;255mimport[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mjakarta.servlet.http.HttpSession[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m<%@[0m[38;2;249;38;114mpage[0m[38;2;248;248;242m [0m[38;2;190;132;255mimport[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116morg.apache.catalina.Session[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m<%@[0m[38;2;249;38;114mpage[0m[38;2;248;248;242m [0m[38;2;190;132;255mimport[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116morg.apache.catalina.manager.JspHelper[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m<%@[0m[38;2;249;38;114mpage[0m[38;2;248;248;242m [0m[38;2;190;132;255mimport[0m[38;2;249;38;114m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116morg.apache.catalina.util.ContextName[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;255;255;255m<![0m[38;2;249;38;114mDOCTYPE[0m[38;2;248;248;242m [0m[38;2;190;132;255mhtml[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mPUBLIC[0m[38;2;248;248;242m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m-//W3C//DTD XHTML 1.0 Strict//EN[0m[38;2;255;255;255m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;117;113;94m<%--[0m[38;2;117;113;94m!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"[0m
|
||||
[38;2;117;113;94m "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[0m[38;2;117;113;94m--%>[0m
|
||||
|
||||
[38;2;255;255;255m<[0m[38;2;249;38;114mhtml[0m[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhttp://www.w3.org/1999/xhtml[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mxml:lang[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116men[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m<%[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m path [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m)[0m[38;2;248;248;242m request[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttribute[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mpath[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m version [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m)[0m[38;2;248;248;242m request[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttribute[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mversion[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mContextName[0m[38;2;248;248;242m cn [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114mnew[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mContextName[0m[38;2;248;248;242m([0m[38;2;248;248;242mpath[0m[38;2;248;248;242m,[0m[38;2;248;248;242m version[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mSession[0m[38;2;248;248;242m currentSession [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;166;226;46mSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242mrequest[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttribute[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mcurrentSession[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m currentSessionId [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mHttpSession[0m[38;2;248;248;242m currentHttpSession [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession [0m[38;2;249;38;114m!=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m currentHttpSession [0m[38;2;249;38;114m=[0m[38;2;248;248;242m currentSession[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetSession[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m currentSessionId [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mescapeXml[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetId[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m }[0m[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m currentSessionId [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mSession invalidated[0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m submitUrl [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mescapeXml[0m[38;2;248;248;242m([0m[38;2;248;248;242mresponse[0m[38;2;248;248;242m.[0m[38;2;248;248;242mencodeURL[0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242m([0m[3;38;2;166;226;46mHttpServletRequest[0m[38;2;248;248;242m)[0m[38;2;248;248;242m pageContext[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetRequest[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetRequestURI[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m?path=[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m path [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m&version=[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m version[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m%>[0m
|
||||
[38;2;255;255;255m<[0m[38;2;249;38;114mhead[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mhttp-equiv[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mcontent-type[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mtext/html; charset=iso-8859-1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mhttp-equiv[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mpragma[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mno-cache[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m[38;2;124;120;101m<!--[0m[38;2;124;120;101m HTTP 1.0 [0m[38;2;124;120;101m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mhttp-equiv[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mcache-control[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mno-cache,must-revalidate[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m[38;2;124;120;101m<!--[0m[38;2;124;120;101m HTTP 1.1 [0m[38;2;124;120;101m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mhttp-equiv[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mexpires[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m0[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m[38;2;124;120;101m<!--[0m[38;2;124;120;101m 0 is an invalid value and should be treated as 'now' [0m[38;2;124;120;101m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mhttp-equiv[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mcontent-language[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116men[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mauthor[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mCedrik LIME[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mcopyright[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mcopyright 2005-2021 the Apache Software Foundation[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmeta[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mrobots[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcontent[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mnoindex,nofollow,noarchive[0m[38;2;255;255;255m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtitle[0m[38;2;255;255;255m>[0m[38;2;248;248;242mSessions Administration: details for [0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m currentSessionId [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtitle[0m[38;2;255;255;255m>[0m
|
||||
[38;2;255;255;255m</[0m[38;2;249;38;114mhead[0m[38;2;255;255;255m>[0m
|
||||
[38;2;255;255;255m<[0m[38;2;249;38;114mbody[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m<%[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentHttpSession [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{ [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mh1[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242mcurrentSessionId[0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mh1[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m<%[0m[38;2;248;248;242m }[0m[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;248;248;242m{ [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mh1[0m[38;2;255;255;255m>[0m[38;2;248;248;242mDetails for Session [0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m currentSessionId [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mh1[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtable[0m[38;2;248;248;242m [0m[38;2;166;226;46mstyle[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[3;38;2;102;217;239mtext-align[0m[38;2;255;255;255m:[0m[38;2;248;248;242m [0m[38;2;102;217;239mleft[0m[38;2;255;255;255m;[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mborder[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m0[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mSession Id[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m currentSessionId [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mGuessed Locale[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mguessDisplayLocaleFromSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mGuessed User[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mguessDisplayUserFromSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mCreation Time[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetDisplayCreationTimeForSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mLast Accessed Time[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetDisplayLastAccessedTimeForSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mSession Max Inactive Interval[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242msecondsToTimeString[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetMaxInactiveInterval[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mUsed Time[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetDisplayUsedTimeForSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mInactive Time[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetDisplayInactiveTimeForSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mTTL[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetDisplayTTLForSession[0m[38;2;248;248;242m([0m[38;2;248;248;242mcurrentSession[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtable[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mform[0m[38;2;248;248;242m [0m[38;2;166;226;46mmethod[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mpost[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46maction[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%= submitUrl %>[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdiv[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msessionId[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%= currentSessionId %>[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116maction[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msessionDetail[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mPrimary[0m[38;2;230;219;116m"[0m[38;2;248;248;242m.[0m[38;2;248;248;242mequals[0m[38;2;248;248;242m([0m[38;2;248;248;242mrequest[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetParameter[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116msessionType[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msessionType[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mPrimary[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msubmit[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mRefresh[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdiv[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mform[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdiv[0m[38;2;248;248;242m [0m[38;2;166;226;46mclass[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116merror[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mescapeXml[0m[38;2;248;248;242m([0m[38;2;248;248;242mrequest[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttribute[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116merror[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mdiv[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdiv[0m[38;2;248;248;242m [0m[38;2;166;226;46mclass[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mmessage[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mescapeXml[0m[38;2;248;248;242m([0m[38;2;248;248;242mrequest[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttribute[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mmessage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mdiv[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtable[0m[38;2;248;248;242m [0m[38;2;166;226;46mstyle[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[3;38;2;102;217;239mtext-align[0m[38;2;255;255;255m:[0m[38;2;248;248;242m [0m[38;2;102;217;239mleft[0m[38;2;255;255;255m;[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mborder[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m1[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcellpadding[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m2[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mcellspacing[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m nAttributes [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mEnumeration[0m[38;2;248;248;242m<[0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m>[0m[38;2;248;248;242m attributeNamesEnumeration [0m[38;2;249;38;114m=[0m[38;2;248;248;242m currentHttpSession[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttributeNames[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mattributeNamesEnumeration[0m[38;2;248;248;242m.[0m[38;2;248;248;242mhasMoreElements[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m attributeNamesEnumeration[0m[38;2;248;248;242m.[0m[38;2;248;248;242mnextElement[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m++[0m[38;2;248;248;242mnAttributes[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mcaption[0m[38;2;248;248;242m [0m[38;2;166;226;46mstyle[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[3;38;2;102;217;239mfont-variant[0m[38;2;255;255;255m:[0m[38;2;248;248;242m [0m[38;2;102;217;239msmall-caps[0m[38;2;255;255;255m;[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mformatNumber[0m[38;2;248;248;242m([0m[38;2;248;248;242mnAttributes[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;248;248;242m attributes[0m[38;2;255;255;255m</[0m[38;2;249;38;114mcaption[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mthead[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mRemove Attribute[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mAttribute name[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m[38;2;248;248;242mAttribute value[0m[38;2;255;255;255m</[0m[38;2;249;38;114mth[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mthead[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<%--[0m[38;2;117;113;94mtfoot>[0m
|
||||
[38;2;117;113;94m <tr>[0m
|
||||
[38;2;117;113;94m <td colspan="3" style="text-align: center;">[0m
|
||||
[38;2;117;113;94m TODO: set Max Inactive Interval on sessions[0m
|
||||
[38;2;117;113;94m </td>[0m
|
||||
[38;2;117;113;94m </tr>[0m
|
||||
[38;2;117;113;94m </tfoot[0m[38;2;117;113;94m--%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtbody[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m[38;2;248;248;242m attributeNamesEnumeration [0m[38;2;249;38;114m=[0m[38;2;248;248;242m currentHttpSession[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttributeNames[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhile[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mattributeNamesEnumeration[0m[38;2;248;248;242m.[0m[38;2;248;248;242mhasMoreElements[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m attributeName [0m[38;2;249;38;114m=[0m[38;2;248;248;242m attributeNamesEnumeration[0m[38;2;248;248;242m.[0m[38;2;248;248;242mnextElement[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;248;248;242m [0m[38;2;166;226;46malign[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mcenter[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mform[0m[38;2;248;248;242m [0m[38;2;166;226;46mmethod[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mpost[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46maction[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%= submitUrl %>[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdiv[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116maction[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mremoveSessionAttribute[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msessionId[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%= currentSessionId %>[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mattributeName[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%= JspHelper.escapeXml(attributeName) %>[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mPrimary[0m[38;2;230;219;116m"[0m[38;2;248;248;242m.[0m[38;2;248;248;242mequals[0m[38;2;248;248;242m([0m[38;2;248;248;242mrequest[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetParameter[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116msessionType[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msubmit[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mRemove[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mhidden[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mname[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msessionType[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mPrimary[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m
|
||||
[38;2;248;248;242m }[0m[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m out[0m[38;2;248;248;242m.[0m[38;2;248;248;242mprint[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mPrimary sessions only[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdiv[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mform[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mescapeXml[0m[38;2;248;248;242m([0m[38;2;248;248;242mattributeName[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m[38;2;248;248;242m<%[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mObject[0m[38;2;248;248;242m attributeValue [0m[38;2;249;38;114m=[0m[38;2;248;248;242m currentHttpSession[0m[38;2;248;248;242m.[0m[38;2;248;248;242mgetAttribute[0m[38;2;248;248;242m([0m[38;2;248;248;242mattributeName[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m<[0m[38;2;249;38;114mspan[0m[38;2;248;248;242m [0m[38;2;166;226;46mtitle[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%= attributeValue == null ? [0m[38;2;255;255;255m"[0m[38;2;248;248;240m"[0m[38;2;248;248;242m [0m[38;2;166;226;46m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mattributeValue.getClass().toString()[0m[38;2;248;248;242m [0m[38;2;166;226;46m%[0m[38;2;255;255;255m>[0m[38;2;248;248;242m">[0m[38;2;248;248;242m<%=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mJspHelper[0m[38;2;248;248;242m.[0m[38;2;248;248;242mescapeXml[0m[38;2;248;248;242m([0m[38;2;248;248;242mattributeValue[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;248;248;242m%>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mspan[0m[38;2;255;255;255m>[0m[38;2;255;255;255m</[0m[38;2;249;38;114mtd[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtr[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m<%[0m[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m end while [0m[38;2;248;248;242m%>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtbody[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtable[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m<%[0m[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m endif[0m[38;2;248;248;242m%>[0m
|
||||
|
||||
[38;2;255;255;255m<[0m[38;2;249;38;114mform[0m[38;2;248;248;242m [0m[38;2;166;226;46mmethod[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mpost[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46maction[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116m<%=submitUrl%>[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mp[0m[38;2;248;248;242m [0m[38;2;166;226;46mstyle[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[3;38;2;102;217;239mtext-align[0m[38;2;255;255;255m:[0m[38;2;248;248;242m [0m[38;2;102;217;239mcenter[0m[38;2;255;255;255m;[0m[38;2;255;255;255m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minput[0m[38;2;248;248;242m [0m[38;2;166;226;46mtype[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msubmit[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mvalue[0m[38;2;166;226;46m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116mReturn to session list[0m[38;2;255;255;255m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mp[0m[38;2;255;255;255m>[0m
|
||||
[38;2;255;255;255m</[0m[38;2;249;38;114mform[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;117;113;94m<%--[0m[38;2;117;113;94mdiv style="display: none;">[0m
|
||||
[38;2;117;113;94m<p>[0m
|
||||
[38;2;117;113;94m <a href="http://validator.w3.org/check?uri=referer"><img[0m
|
||||
[38;2;117;113;94m src="http://www.w3.org/Icons/valid-html401"[0m
|
||||
[38;2;117;113;94m alt="Valid HTML 4.01!" height="31" width="88"></a>[0m
|
||||
[38;2;117;113;94m <a href="http://validator.w3.org/check?uri=referer"><img[0m
|
||||
[38;2;117;113;94m src="http://www.w3.org/Icons/valid-xhtml10"[0m
|
||||
[38;2;117;113;94m alt="Valid XHTML 1.0!" height="31" width="88" /></a>[0m
|
||||
[38;2;117;113;94m <a href="http://validator.w3.org/check?uri=referer"><img[0m
|
||||
[38;2;117;113;94m src="http://www.w3.org/Icons/valid-xhtml11"[0m
|
||||
[38;2;117;113;94m alt="Valid XHTML 1.1!" height="31" width="88" /></a>[0m
|
||||
[38;2;117;113;94m</p>[0m
|
||||
[38;2;117;113;94m</div[0m[38;2;117;113;94m--%>[0m
|
||||
|
||||
[38;2;255;255;255m</[0m[38;2;249;38;114mbody[0m[38;2;255;255;255m>[0m
|
||||
[38;2;255;255;255m</[0m[38;2;249;38;114mhtml[0m[38;2;255;255;255m>[0m
|
||||
+22
-22
@@ -1,10 +1,10 @@
|
||||
[38;2;248;248;242mx [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m
|
||||
[38;2;248;248;242mx[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m
|
||||
|
||||
[38;2;248;248;242my [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242mx[0m
|
||||
[38;2;248;248;242my[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242mx[0m
|
||||
|
||||
[38;2;248;248;242mtypeof[0m[38;2;248;248;242m([0m[38;2;248;248;242my[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242mf[0m[38;2;248;248;242m([0m[38;2;248;248;242mx[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m x[0m
|
||||
[38;2;248;248;242mf[0m[38;2;248;248;242m([0m[38;2;248;248;242mx[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;248;248;242mx[0m
|
||||
|
||||
|
||||
[38;2;248;248;242mf[0m
|
||||
@@ -12,44 +12,44 @@
|
||||
[38;2;248;248;242mf[0m[38;2;248;248;242m([0m[38;2;190;132;255m10[0m[38;2;248;248;242m)[0m
|
||||
|
||||
|
||||
[38;2;249;38;114mfunction[0m[38;2;248;248;242m [0m[38;2;166;226;46mg[0m[38;2;248;248;242m([0m[38;2;248;248;242mx[0m[38;2;248;248;242m,[0m[38;2;248;248;242m y[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m z [0m[38;2;249;38;114m=[0m[38;2;248;248;242m x [0m[38;2;249;38;114m+[0m[38;2;248;248;242m y[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m z[0m[38;2;249;38;114m^[0m[38;2;190;132;255m2[0m
|
||||
[38;2;249;38;114mfunction[0m[38;2;248;248;242m [0m[38;2;166;226;46mg[0m[38;2;248;248;242m([0m[38;2;248;248;242mx[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242my[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mz[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242mx[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;248;248;242my[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;248;248;242mz[0m[38;2;249;38;114m^[0m[38;2;190;132;255m2[0m
|
||||
[38;2;249;38;114mend[0m
|
||||
|
||||
[38;2;248;248;242mg[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;249;38;114mlet[0m[38;2;248;248;242m s [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m10[0m
|
||||
[38;2;248;248;242m s [0m[38;2;249;38;114m+=[0m[38;2;248;248;242m i [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Equivalent to s = s + i[0m
|
||||
[38;2;249;38;114mlet[0m[38;2;248;248;242m [0m[38;2;248;248;242ms[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m10[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242ms[0m[38;2;248;248;242m [0m[38;2;249;38;114m+=[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Equivalent to s = s + i[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m s[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242ms[0m
|
||||
[38;2;249;38;114mend[0m
|
||||
|
||||
|
||||
[38;2;248;248;242mtypeof[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m10[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;249;38;114mfunction[0m[38;2;248;248;242m [0m[38;2;166;226;46mmysum[0m[38;2;248;248;242m([0m[38;2;248;248;242mn[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m s [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mn[0m
|
||||
[38;2;248;248;242m s [0m[38;2;249;38;114m+=[0m[38;2;248;248;242m i[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242ms[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mn[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242ms[0m[38;2;248;248;242m [0m[38;2;249;38;114m+=[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m s[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;248;248;242ms[0m
|
||||
[38;2;249;38;114mend[0m
|
||||
|
||||
[38;2;248;248;242mmysum[0m[38;2;248;248;242m([0m[38;2;190;132;255m100[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242ma [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m
|
||||
[38;2;248;248;242ma[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m
|
||||
|
||||
[38;2;248;248;242ma [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m
|
||||
[38;2;248;248;242ma[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m
|
||||
|
||||
[38;2;249;38;114mif[0m[38;2;248;248;242m a [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m
|
||||
[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242ma[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msmall[0m[38;2;230;219;116m"[0m
|
||||
[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mbig[0m[38;2;230;219;116m"[0m
|
||||
[38;2;249;38;114mend[0m
|
||||
|
||||
[38;2;248;248;242mv [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242mv[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m][0m
|
||||
|
||||
[38;2;248;248;242mtypeof[0m[38;2;248;248;242m([0m[38;2;248;248;242mv[0m[38;2;248;248;242m)[0m
|
||||
|
||||
@@ -57,15 +57,15 @@
|
||||
|
||||
[38;2;248;248;242mv[0m[38;2;248;248;242m[[0m[38;2;190;132;255m2[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m10[0m
|
||||
|
||||
[38;2;248;248;242mv[0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m^[0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m10[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242mv2[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m^[0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m10[0m[38;2;248;248;242m][0m
|
||||
|
||||
[38;2;248;248;242mM [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242mM[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m [0m[38;2;190;132;255m4[0m[38;2;248;248;242m][0m
|
||||
|
||||
[38;2;248;248;242mtypeof[0m[38;2;248;248;242m([0m[38;2;248;248;242mM[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242mzeros[0m[38;2;248;248;242m([0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242mzeros[0m[38;2;248;248;242m([0m[38;2;248;248;242mInt, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242mzeros[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4[0m[38;2;248;248;242m, [0m[38;2;190;132;255m5[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m[[0m[38;2;248;248;242mi [0m[38;2;249;38;114m+[0m[38;2;248;248;242m j [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m5[0m[38;2;248;248;242m, j [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m[[0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;248;248;242mj[0m[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;248;248;242mi[0m[38;2;248;248;242m [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m5[0m[38;2;248;248;242m, [0m[38;2;248;248;242mj[0m[38;2;248;248;242m [0m[38;2;249;38;114min[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m6[0m[38;2;248;248;242m][0m
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
[38;2;249;38;114m\[0m[38;2;249;38;114mdocumentclass[0m[38;2;255;255;255m{[0m[3;38;2;166;226;46ma[0m[3;38;2;166;226;46mr[0m[3;38;2;166;226;46mt[0m[3;38;2;166;226;46mi[0m[3;38;2;166;226;46mc[0m[3;38;2;166;226;46ml[0m[3;38;2;166;226;46me[0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;249;38;114m\[0m[38;2;249;38;114mbegin[0m[38;2;255;255;255m{[0m[3;38;2;253;151;31mdocument[0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;102;217;239m\[0m[38;2;102;217;239msection*[0m[38;2;255;255;255m{[0m[38;2;166;226;46mIntroduction[0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;248;248;242mText outside code environments should follow TeX/LaTeX highlighting.[0m
|
||||
|
||||
[38;2;248;248;242mThe code environment delimiters themselves should be highlighted.[0m
|
||||
|
||||
[38;2;248;248;242mText inside code environments should follow regular Haskell highlighting.[0m
|
||||
|
||||
[38;2;102;217;239m\[0m[38;2;102;217;239mbegin[0m[38;2;255;255;255m{[0m[3;38;2;253;151;31mcode[0m[38;2;255;255;255m}[0m
|
||||
[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;248;248;242mData.List[0m
|
||||
[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;248;248;242mSystem.Environment[0m
|
||||
[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;248;248;242mText.Printf[0m
|
||||
|
||||
[38;2;166;226;46mtwoSumN[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mInt[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [[0m[3;38;2;102;217;239mInt[0m[38;2;248;248;242m] [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [[0m[3;38;2;102;217;239mInt[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242mtwoSumN _ [0m[38;2;190;132;255m[][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m[][0m
|
||||
[38;2;248;248;242mtwoSumN n (x [0m[38;2;249;38;114m:[0m[38;2;248;248;242m xs) [0m[38;2;249;38;114m|[0m[38;2;248;248;242m (n [0m[38;2;249;38;114m-[0m[38;2;248;248;242m x) [0m[38;2;249;38;114m`[0m[38;2;249;38;114melem[0m[38;2;249;38;114m`[0m[38;2;248;248;242m xs [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [x[0m[38;2;248;248;242m,[0m[38;2;248;248;242m n [0m[38;2;249;38;114m-[0m[38;2;248;248;242m x][0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m otherwise [0m[38;2;249;38;114m=[0m[38;2;248;248;242m twoSumN n xs[0m
|
||||
|
||||
[38;2;166;226;46mthreeSumN[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mInt[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [[0m[3;38;2;102;217;239mInt[0m[38;2;248;248;242m] [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [[0m[3;38;2;102;217;239mInt[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242mthreeSumN _ [0m[38;2;190;132;255m[][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m[][0m
|
||||
[38;2;248;248;242mthreeSumN n (x [0m[38;2;249;38;114m:[0m[38;2;248;248;242m xs) [0m[38;2;249;38;114m|[0m[38;2;248;248;242m null partial [0m[38;2;249;38;114m=[0m[38;2;248;248;242m threeSumN n xs[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m otherwise [0m[38;2;249;38;114m=[0m[38;2;248;248;242m x [0m[38;2;249;38;114m:[0m[38;2;248;248;242m partial[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhere[0m[38;2;248;248;242m partial [0m[38;2;249;38;114m=[0m[38;2;248;248;242m twoSumN (n [0m[38;2;249;38;114m-[0m[38;2;248;248;242m x) xs[0m
|
||||
[38;2;102;217;239m\[0m[38;2;102;217;239mend[0m[38;2;255;255;255m{[0m[3;38;2;253;151;31mcode[0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;248;248;242mText in-between code environments.[0m
|
||||
[38;2;117;113;94m% LaTeX comment.[0m
|
||||
|
||||
[38;2;102;217;239m\[0m[38;2;102;217;239mbegin[0m[38;2;255;255;255m{[0m[3;38;2;253;151;31mcode[0m[38;2;255;255;255m}[0m
|
||||
[38;2;166;226;46moutput[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mString[0m[38;2;248;248;242m [0m[38;2;249;38;114m->[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mIO[0m[38;2;248;248;242m [0m[38;2;102;217;239m()[0m
|
||||
[38;2;248;248;242moutput path [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;248;248;242m input [0m[38;2;249;38;114m<-[0m[38;2;248;248;242m sort [0m[38;2;249;38;114m.[0m[38;2;248;248;242m map read [0m[38;2;249;38;114m.[0m[38;2;248;248;242m filter (not [0m[38;2;249;38;114m.[0m[38;2;248;248;242m null) [0m[38;2;249;38;114m.[0m[38;2;248;248;242m lines [0m[38;2;249;38;114m<$>[0m[38;2;248;248;242m readFile path[0m
|
||||
[38;2;248;248;242m printf [0m[38;2;230;219;116m"[0m[38;2;230;219;116mFile: %s[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m path[0m
|
||||
[38;2;248;248;242m printf [0m[38;2;230;219;116m"[0m[38;2;230;219;116m Part 1: %d[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;249;38;114m.[0m[38;2;248;248;242m product [0m[38;2;249;38;114m.[0m[38;2;248;248;242m twoSumN [0m[38;2;190;132;255m2020[0m[38;2;248;248;242m [0m[38;2;249;38;114m$[0m[38;2;248;248;242m input[0m
|
||||
[38;2;248;248;242m printf [0m[38;2;230;219;116m"[0m[38;2;230;219;116m Part 2: %d[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;249;38;114m.[0m[38;2;248;248;242m product [0m[38;2;249;38;114m.[0m[38;2;248;248;242m threeSumN [0m[38;2;190;132;255m2020[0m[38;2;248;248;242m [0m[38;2;249;38;114m$[0m[38;2;248;248;242m input[0m
|
||||
|
||||
[38;2;117;113;94m--[0m[38;2;117;113;94m Haskell comment inside code environment.[0m
|
||||
|
||||
[38;2;166;226;46mmain[0m[38;2;248;248;242m [0m[38;2;249;38;114m::[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mIO[0m[38;2;248;248;242m [0m[38;2;102;217;239m()[0m
|
||||
[38;2;248;248;242mmain [0m[38;2;249;38;114m=[0m[38;2;248;248;242m getArgs [0m[38;2;249;38;114m>>=[0m[38;2;248;248;242m mapM_ output[0m
|
||||
[38;2;102;217;239m\[0m[38;2;102;217;239mend[0m[38;2;255;255;255m{[0m[3;38;2;253;151;31mcode[0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;249;38;114m\[0m[38;2;249;38;114mend[0m[38;2;255;255;255m{[0m[3;38;2;253;151;31mdocument[0m[38;2;255;255;255m}[0m
|
||||
@@ -0,0 +1,167 @@
|
||||
[38;2;248;248;242m<?xml version="1.0" encoding="UTF-8"?>[0m
|
||||
[38;2;255;255;255m<[0m[38;2;249;38;114mproject[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mParaesthesia.Tools.NAntTasks[0m[38;2;230;219;116m"[0m[38;2;166;226;46m default[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mall[0m[38;2;230;219;116m"[0m[38;2;166;226;46m verbose[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfalse[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m === ENVIRONMENT SETUP === [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mnant.settings.currentframework[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mnet-2.0[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtstamp[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114msysinfo[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.config[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelease[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.version[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2.0.0.0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.name[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mParaesthesia.Tools.NAntTasks[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.dir[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${project::get-base-directory()}\build[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.bin.dir[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.dir}\bin[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.doc.dir[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.dir}\doc[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.install.dir[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.dir}\install[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild.log.dir[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.dir}\log[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m === STANDARD TARGETS === [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mall[0m[38;2;230;219;116m"[0m[38;2;166;226;46m depends[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild-tasks test[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mBuilds all custom NAnt task projects.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mclean[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRemove all compiled output folders.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mecho[0m[38;2;166;226;46m message[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRemoving build output folder...[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdelete[0m[38;2;166;226;46m dir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.dir}[0m[38;2;230;219;116m"[0m[38;2;166;226;46m failonerror[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfalse[0m[38;2;230;219;116m"[0m[38;2;166;226;46m verbose[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfalse[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mecho[0m[38;2;166;226;46m message[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRemoving compilation artifact folders...[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdelete[0m[38;2;166;226;46m failonerror[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfalse[0m[38;2;230;219;116m"[0m[38;2;166;226;46m verbose[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfalse[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mlib[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mlib\**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**\obj\**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**\bin\**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdelete[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mecho[0m[38;2;166;226;46m message[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mClean complete.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mtest[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRun unit tests on this project.[0m[38;2;230;219;116m"[0m[38;2;166;226;46m depends[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild-tests[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m TODO: Run the unit tests [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mdoc[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mGenerates NDoc documentation.[0m[38;2;230;219;116m"[0m[38;2;166;226;46m depends[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild-tasks[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mndoc[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114massemblies[0m[38;2;166;226;46m basedir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.bin.dir}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mParaesthesia.Tools.*.dll[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114massemblies[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114msummaries[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mNamespaceSummary.xml[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114msummaries[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdocumenters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdocumenter[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mMSDN[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAutoDocumentConstructors[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAutoPropertyBackerSummaries[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCollectionNamespace[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.name} v${build.version}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCopyrightHref[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttp://www.paraesthesia.com[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCopyrightText[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCopyright 2007 Travis Illig[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDefaultTOC[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mEmpty[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDeleteCHM[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentEmptyNamespaces[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentInternals[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentPrivates[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentProtected[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mGenerateCollectionFiles[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mHtmlHelpCompilerFilename[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhhc.exe[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mHtmlHelpName[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.name} v${build.version}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mIncludeAssemblyVersion[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mIncludeFavorites[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mIncludeHeirarchy[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mLinkToSdkDocVersion[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSDK_v1_1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mOmitObjectTags[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mOutputDirectory[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.doc.dir}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mPlugInNamespace[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mms.vscc[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRootPageContainsNamespaces[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mShowMissingParams[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mShowMissingRemarks[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mShowMissingReturns[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mShowMissingSummaries[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mShowMissingValues[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mShowVisualBasic[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSortTOCByNamespace[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTrue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSplitTOCs[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mproperty[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mTitle[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.name} v${build.version}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdocumenter[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdocumenters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mndoc[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdelete[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mfileset[0m[38;2;166;226;46m basedir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.doc.dir}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m*.chm[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdelete[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116minstall[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCreates distribution packages.[0m[38;2;230;219;116m"[0m[38;2;166;226;46m depends[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mall[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mmkdir[0m[38;2;166;226;46m dir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.install.dir}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mzip[0m[38;2;166;226;46m verbose[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mtrue[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m zipfile=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.install.dir}/${build.name}_${build.version}.zip[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m ziplevel=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m9[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mfileset[0m[38;2;166;226;46m basedir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.dir}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.install.dir}/**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.log.dir}/**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mfileset[0m[38;2;166;226;46m basedir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mreadme.txt[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mzip[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mzip[0m[38;2;166;226;46m verbose[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mtrue[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m zipfile=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.install.dir}/${build.name}_${build.version}_src.zip[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m ziplevel=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m9[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mfileset[0m[38;2;166;226;46m basedir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/*.suo[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/*.user[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/*.cache[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/bin/**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/build/**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/lib/*.dll[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m**/obj/**[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mzip[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mproduction[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mExecutes the production build.[0m[38;2;230;219;116m"[0m[38;2;166;226;46m depends[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mclean set-version all test doc cleanup-build-output install[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mecho[0m[38;2;166;226;46m message[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCompleted production build.[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
|
||||
|
||||
[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m === PREREQUISITE TASKS === [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild-tasks[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mBuilds the custom NAnt task solution.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m solution configuration="${build.config}" outputdir="${build.bin.dir}" solutionfile="Paraesthesia.Tools.NAntTasks.sln" / [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexec[0m[38;2;166;226;46m program[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mMSBuild.exe[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114marg[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mParaesthesia.Tools.NAntTasks.sln[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114marg[0m[38;2;166;226;46m line[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m/p:Configuration=${build.config}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114marg[0m[38;2;166;226;46m line[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m/p:OutDir="${build.bin.dir}\\"[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mexec[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mbuild-tests[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mBuilds the unit tests for the project.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m TODO: When there are unit tests, build them. [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcleanup-build-output[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCleans up the build output for archival.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mecho[0m[38;2;166;226;46m message[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCleaning up build output...[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mdelete[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mfileset[0m[38;2;166;226;46m basedir[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.bin.dir}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m*[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mexclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mParaesthesia.Tools.*[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mfileset[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mdelete[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mecho[0m[38;2;166;226;46m message[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mBuild output cleaned up. Only project output files remain.[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mtarget[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mset-version[0m[38;2;230;219;116m"[0m[38;2;166;226;46m description[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mUpdates the build assembly version.[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114masminfo[0m[38;2;166;226;46m output[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAssemblyVersion.cs[0m[38;2;230;219;116m"[0m[38;2;166;226;46m language[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mCSharp[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mimports[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mimport[0m[38;2;166;226;46m namespace[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSystem.Reflection[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mimports[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mattributes[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mattribute[0m[38;2;166;226;46m type[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAssemblyVersionAttribute[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m${build.version}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mattribute[0m[38;2;166;226;46m type[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAssemblyCompanyAttribute[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mParaesthesia[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mattribute[0m[38;2;166;226;46m type[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAssemblyCopyrightAttribute[0m[38;2;230;219;116m"[0m[38;2;166;226;46m value[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m(c) 2007 - ${datetime::get-year(datetime::now())} Travis Illig[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mattributes[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mreferences[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114minclude[0m[38;2;166;226;46m name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSystem.dll[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mreferences[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114masminfo[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mtarget[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;255;255;255m</[0m[38;2;249;38;114mproject[0m[38;2;255;255;255m>[0m
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
[3;38;2;102;217;239mclass[0m[38;2;248;248;242m [0m[38;2;166;226;46mfoo[0m[38;2;248;248;242m ($bar) [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239m@@notify[0m[38;2;248;248;242m { [0m[38;2;166;226;46m'foo'[0m[38;2;248;248;242m:[0m[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[3;38;2;102;217;239m@@file[0m[38;2;248;248;242m { [0m[38;2;166;226;46m"somedir/${name}_${munin_port_real}"[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mensure [0m[38;2;248;248;242m=> [0m[38;2;190;132;255mpresent[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mcontent [0m[38;2;248;248;242m=> [0m[38;2;102;217;239mtemplate[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mmunin/defaultclient.erb[0m[38;2;230;219;116m"[0m[38;2;248;248;242m),[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Collect all exported files[0m
|
||||
[38;2;190;132;255mFile[0m[38;2;248;248;242m <<||>>[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Compile the munin.conf with a local header[0m
|
||||
[3;38;2;102;217;239mconcatenated_file[0m[38;2;248;248;242m { [0m[38;2;166;226;46m"/etc/munin/munin.conf"[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mdir [0m[38;2;248;248;242m=> somedir,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mheader [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116m/etc/munin/munin.conf.header[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242mhosting_vserver_configuration {[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m"erics":[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mdomain [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116morange.co[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mtype [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116mfriend[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mcontext [0m[38;2;248;248;242m=> 13,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mip [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116m255.255.255.254[0m[38;2;230;219;116m"[0m[38;2;248;248;242m, [0m[38;2;190;132;255mprefix [0m[38;2;248;248;242m=> 27,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255madmin_user [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116merict[0m[38;2;230;219;116m"[0m[38;2;248;248;242m, [0m[38;2;190;132;255madmin_user_name [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116mhello, its me[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255madmin_user_email [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116merict@orange.co[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255mcustomer [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116mhello? is it me?[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255madmin_password [0m[38;2;248;248;242m=> [0m[38;2;190;132;255mfile[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116m/etc/puppet/secrets/hosting/erict_passwd[0m[38;2;230;219;116m"[0m[38;2;248;248;242m),[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[3;38;2;102;217;239mclass[0m[38;2;248;248;242m [0m[38;2;166;226;46mdavids_black_co_at[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m# Create users for my parents and my grandmother[0m
|
||||
[38;2;248;248;242m hosting::user {[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mrztt:[0m[38;2;248;248;242m [0m[38;2;190;132;255mrealname [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116msome other rztt[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255muid [0m[38;2;248;248;242m=> 2001, [0m[38;2;190;132;255madmin [0m[38;2;248;248;242m=> [0m[38;2;190;132;255mtrue[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46msame:[0m[38;2;248;248;242m [0m[38;2;190;132;255mrealname [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcould be same[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255muid [0m[38;2;248;248;242m=> 2002;[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mimapersontoodamnit:[0m[38;2;248;248;242m [0m[38;2;190;132;255mrealname [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116msome one else[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255muid [0m[38;2;248;248;242m=> 2003;[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Install git.black.co.at[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114minclude[0m[38;2;248;248;242m git::daemon[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114minclude[0m[38;2;248;248;242m git::web[0m
|
||||
[38;2;248;248;242m git::web::export { [manifests, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mpuppet-trunk[0m[38;2;230;219;116m"[0m[38;2;248;248;242m]: }[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Provision an additional mysql database on the database server[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mhosting::database[0m[38;2;248;248;242m { [0m[38;2;166;226;46m"fogbugz"[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255mtype [0m[38;2;248;248;242m=> mysql }[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m Create another VirtualHost[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mapache2::site[0m[38;2;248;248;242m { [0m[38;2;166;226;46m"local-fogbugz"[0m[38;2;248;248;242m:[0m
|
||||
[38;2;248;248;242m [0m[38;2;190;132;255msource [0m[38;2;248;248;242m=> [0m[38;2;230;219;116m"[0m[38;2;230;219;116mpuppet://[0m[38;2;255;255;255m$[0m[38;2;255;255;255mservername[0m[38;2;230;219;116m/files/hosting/erict/sites/local-fogbugz[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[3;38;2;102;217;239mnode[0m[38;2;248;248;242m [0m[38;2;166;226;46mbackuppc[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m only use the smarthost[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mmta[0m[38;2;248;248;242m = ssmtp[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m this is a vserver on this host, so register correctly in nagios[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mnagios_parent[0m[38;2;248;248;242m = [0m[38;2;230;219;116m"[0m[38;2;230;219;116morange.co[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m I'm sharing an IP here, so those things have to have their own ports[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mapache2_port[0m[38;2;248;248;242m = 8080[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mmunin_port[0m[38;2;248;248;242m = 5008[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mmunin_stats_port[0m[38;2;248;248;242m = 8667[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m default configuration[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114minclude[0m[38;2;248;248;242m dbp[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m configure the backuppc server[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114minclude[0m[38;2;248;248;242m backuppc::server[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
[38;2;249;38;114mpackage [0m[38;2;248;248;242mk8sazureprocmount[0m
|
||||
|
||||
[38;2;166;226;46mtest_input_container_not_proc_mount_allowed[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_default[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_proc_mount_not_allowed[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_unmasked[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_default[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_proc_mount_not_allowed_null_param[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_unmasked[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;190;132;255mnull[0m[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_proc_mount_not_allowed_missing_param[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_unmasked[0m[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_many_not_proc_mount_allowed[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_many[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_default[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_many_mixed_proc_mount_not_allowed[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_many_mixed[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_default[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_many_mixed_proc_mount_not_allowed_two[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_many_mixed_two[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_default[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_proc_mount_case_insensitive[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_default_lower[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_not_proc_mount_unmasked[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_unmasked[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_proc_mount_unmasked[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_unmasked[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_unmasked[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
[38;2;166;226;46mtest_input_container_many_mixed_proc_mount_allowed_two[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m { [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreview[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_review_many_mixed_two[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;230;219;116mparameters[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_parameters_unmasked[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mresults[0m[38;2;248;248;242m [0m[38;2;249;38;114m:=[0m[38;2;248;248;242m [0m[38;2;248;248;242mviolation[0m[38;2;249;38;114m with [0m[38;2;248;248;242minput[0m[38;2;249;38;114m as [0m[38;2;248;248;242minput[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mcount[0m[38;2;248;248;242m([0m[38;2;248;248;242mresults[0m[38;2;248;248;242m) [0m[38;2;249;38;114m=[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_review[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mobject[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mmetadata[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m },[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mspec[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_one[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_review_unmasked[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mobject[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mmetadata[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m },[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mspec[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_one_unmasked[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_review_many[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mobject[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mmetadata[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m },[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mspec[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_many[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116minitContainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_one[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_review_many_mixed[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mobject[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mmetadata[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m },[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mspec[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_many[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116minitContainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_one_unmasked[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_review_many_mixed_two[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mobject[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mmetadata[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m },[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mspec[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_many_mixed[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116minitContainers[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;248;248;242minput_containers_one_unmasked[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_containers_one[0m[38;2;248;248;242m =[0m[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msecurityContext[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mDefault[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}][0m
|
||||
|
||||
[38;2;166;226;46minput_containers_one_unmasked[0m[38;2;248;248;242m =[0m[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msecurityContext[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mUnmasked[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}][0m
|
||||
|
||||
[38;2;166;226;46minput_containers_many[0m[38;2;248;248;242m =[0m[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msecurityContext[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mDefault[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m},[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m},[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx2[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msecurityContext[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mrunAsUser[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116m1000[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}][0m
|
||||
|
||||
[38;2;166;226;46minput_containers_many_mixed[0m[38;2;248;248;242m =[0m[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msecurityContext[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mDefault[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m},[0m
|
||||
[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mname[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mimage[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mnginx[0m[38;2;230;219;116m"[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116msecurityContext[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mUnmasked[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m}][0m
|
||||
|
||||
[38;2;166;226;46minput_parameters_default[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mDefault[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_parameters_default_lower[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mdefault[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;166;226;46minput_parameters_unmasked[0m[38;2;248;248;242m =[0m[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mprocMount[0m[38;2;230;219;116m"[0m[38;2;248;248;242m: [0m[38;2;230;219;116m"[0m[38;2;230;219;116mUnmasked[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m}[0m
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
[38;2;230;219;116m*** Settings ***[0m
|
||||
[38;2;117;113;94mDocumentation PROBLEM:[0m
|
||||
[38;2;117;113;94m... You want to test the existence of a file in an AWS S3 bucket[0m
|
||||
[38;2;117;113;94m... without using lower level Python code or developing a custom library.[0m
|
||||
[38;2;117;113;94m... DISCUSSION:[0m
|
||||
[38;2;117;113;94m... This recipe demonstrates:[0m
|
||||
[38;2;117;113;94m... - using a Suite Teardown to end the test suite cleanly[0m
|
||||
[38;2;117;113;94m... - using keywords from an external library[0m
|
||||
[38;2;117;113;94m... - accessing OS Environment Variables directly using %{} syntax[0m
|
||||
[38;2;117;113;94m... This recipe has the following external dependencies:[0m
|
||||
[38;2;117;113;94m... $ pip install --upgrade robotframework-aws[0m
|
||||
[38;2;117;113;94m... This recipe also requires the following OS environment variables:[0m
|
||||
[38;2;117;113;94m... AWS_ACCESS_KEY_ID[0m
|
||||
[38;2;117;113;94m... AWS_SECRET_ACCESS_KEY[0m
|
||||
[38;2;190;132;255mSuite Teardown [0m[38;2;248;248;242m Delete All Sessions[0m
|
||||
[38;2;190;132;255mLibrary [0m[38;2;248;248;242m AWSLibrary[0m
|
||||
[38;2;190;132;255mForce Tags [0m[38;2;248;248;242m no-ci-testing[0m
|
||||
|
||||
[38;2;230;219;116m*** Variables ***[0m
|
||||
[4;38;2;102;217;239m${recipe}[0m[38;2;248;248;242m Recipe 14.1 AWS Simple Storage Service[0m
|
||||
[4;38;2;102;217;239m${level}[0m[38;2;248;248;242m Intermediate[0m
|
||||
[4;38;2;102;217;239m${category}[0m[38;2;248;248;242m External Library: AWSLibrary[0m
|
||||
[4;38;2;102;217;239m${REGION}[0m[38;2;248;248;242m us-east-1[0m
|
||||
[4;38;2;102;217;239m${BUCKET}[0m[38;2;248;248;242m YOUR_BUCKET_NAME_GOES_HERE[0m
|
||||
[4;38;2;102;217;239m${KEY}[0m[38;2;248;248;242m YOUR_FILE_PATH_GOES_HERE[0m
|
||||
|
||||
[38;2;230;219;116m*** Test Cases ***[0m
|
||||
[38;2;249;38;114mCheck Key Exists In Bucket[0m
|
||||
[38;2;248;248;242m Log Variables[0m
|
||||
[38;2;248;248;242m Create Session With Keys [0m[4;38;2;102;217;239m${REGION}[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m%{AWS_ACCESS_KEY_ID}[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m%{AWS_SECRET_ACCESS_KEY}[0m
|
||||
[38;2;248;248;242m Key Should Exist [0m[4;38;2;102;217;239m${BUCKET}[0m[38;2;248;248;242m [0m[4;38;2;102;217;239m${KEY}[0m
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
[38;2;249;38;114mexecve[0m[38;2;248;248;242m([0m[38;2;230;219;116m"/usr/bin/ls"[0m[38;2;248;248;242m, [[0m[38;2;230;219;116m"ls"[0m[38;2;248;248;242m], [0m[38;2;190;132;255m0x7fff7d89cea0[0m[38;2;248;248;242m /* [0m[38;2;190;132;255m34[0m[38;2;248;248;242m vars */) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mbrk[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x55bc0a294000[0m
|
||||
[38;2;249;38;114maccess[0m[38;2;248;248;242m([0m[38;2;230;219;116m"/etc/ld.so.preload"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mR_OK[0m[38;2;248;248;242m) = -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mENOENT[0m[38;2;248;248;242m (No such file or directory)[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/etc/ld.so.cache"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0644[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m45404[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m45404[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066972000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/lib/x86_64-linux-gnu/libselinux.so.1"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;190;132;255m\1[0m[38;2;230;219;116m77ELF[0m[38;2;190;132;255m\2[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m>[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m@k[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m..., [0m[38;2;190;132;255m832[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m832[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0644[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m155296[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8192[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_ANONYMOUS[0m[38;2;248;248;242m, -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066970000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2259632[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_EXEC[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066748000[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706676d000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m2093056[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_NONE[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706696c000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8192[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x24000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f706696c000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706696e000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m6832[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_ANONYMOUS[0m[38;2;248;248;242m, -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f706696e000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/lib/x86_64-linux-gnu/libc.so.6"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;190;132;255m\1[0m[38;2;230;219;116m77ELF[0m[38;2;190;132;255m\2[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m>[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\2[0m[38;2;230;219;116m60A[0m[38;2;190;132;255m\2[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m..., [0m[38;2;190;132;255m832[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m832[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0755[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m1824496[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1837056[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066587000[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70665a9000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1658880[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_NONE[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70665a9000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1343488[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_EXEC[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x22000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f70665a9000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70666f1000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m311296[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x16a000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f70666f1000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706673e000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m24576[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x1b6000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f706673e000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066744000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m14336[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_ANONYMOUS[0m[38;2;248;248;242m, -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066744000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/lib/x86_64-linux-gnu/libpcre.so.3"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;190;132;255m\1[0m[38;2;230;219;116m77ELF[0m[38;2;190;132;255m\2[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m>[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\3[0m[38;2;230;219;116m40![0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m..., [0m[38;2;190;132;255m832[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m832[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0644[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m468944[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m471304[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066513000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066515000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m335872[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_EXEC[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x2000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066515000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066567000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m122880[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x54000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066567000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066585000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8192[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x71000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066585000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/lib/x86_64-linux-gnu/libdl.so.2"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;190;132;255m\1[0m[38;2;230;219;116m77ELF[0m[38;2;190;132;255m\2[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m>[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m000[0m[38;2;190;132;255m\2[0m[38;2;230;219;116m1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m..., [0m[38;2;190;132;255m832[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m832[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0644[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m14592[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m16656[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f706650e000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706650f000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_EXEC[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x1000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f706650f000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066510000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x2000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066510000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066511000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8192[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x2000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066511000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/lib/x86_64-linux-gnu/libpthread.so.0"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"[0m[38;2;190;132;255m\1[0m[38;2;230;219;116m77ELF[0m[38;2;190;132;255m\2[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\3[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m>[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\1[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m@l[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;190;132;255m\0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m..., [0m[38;2;190;132;255m832[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m832[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0755[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m146968[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m132288[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f70664ed000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70664f3000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m61440[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_EXEC[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x6000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f70664f3000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066502000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m24576[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x15000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066502000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066508000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8192[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_DENYWRITE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x1a000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066508000[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706650a000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m13504[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_FIXED[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_ANONYMOUS[0m[38;2;248;248;242m, -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f706650a000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8192[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mPROT_WRITE[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mMAP_ANONYMOUS[0m[38;2;248;248;242m, -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f70664eb000[0m
|
||||
[38;2;249;38;114march_prctl[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mARCH_SET_FS[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x7f70664ec380[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706673e000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m16384[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066508000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066511000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066585000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f706696c000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x55bc08de8000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmprotect[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70669a5000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmunmap[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f7066972000[0m[38;2;248;248;242m, [0m[38;2;190;132;255m45404[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mset_tid_address[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70664ec650[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m1737[0m
|
||||
[38;2;249;38;114mset_robust_list[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x7f70664ec660[0m[38;2;248;248;242m, [0m[38;2;190;132;255m24[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mrt_sigaction[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mSIGRTMIN[0m[38;2;248;248;242m, {sa_handler=[0m[38;2;190;132;255m0x7f70664f36b0[0m[38;2;248;248;242m, sa_mask=[], sa_flags=[0m[3;38;2;102;217;239mSA_RESTORER[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mSA_SIGINFO[0m[38;2;248;248;242m, sa_restorer=[0m[38;2;190;132;255m0x7f70664ff730[0m[38;2;248;248;242m}, [0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mrt_sigaction[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mSIGRT_1[0m[38;2;248;248;242m, {sa_handler=[0m[38;2;190;132;255m0x7f70664f3740[0m[38;2;248;248;242m, sa_mask=[], sa_flags=[0m[3;38;2;102;217;239mSA_RESTORER[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mSA_RESTART[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mSA_SIGINFO[0m[38;2;248;248;242m, sa_restorer=[0m[38;2;190;132;255m0x7f70664ff730[0m[38;2;248;248;242m}, [0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mrt_sigprocmask[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mSIG_UNBLOCK[0m[38;2;248;248;242m, [[0m[3;38;2;102;217;239mRTMIN[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mRT_1[0m[38;2;248;248;242m], [0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m8[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mprlimit64[0m[38;2;248;248;242m([0m[38;2;190;132;255m0[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mRLIMIT_STACK[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, {rlim_cur=[0m[38;2;190;132;255m8192[0m[38;2;248;248;242m*[0m[38;2;190;132;255m1024[0m[38;2;248;248;242m, rlim_max=[0m[3;38;2;102;217;239mRLIM64_INFINITY[0m[38;2;248;248;242m}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mstatfs[0m[38;2;248;248;242m([0m[38;2;230;219;116m"/sys/fs/selinux"[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x7ffd655ea110[0m[38;2;248;248;242m) = -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mENOENT[0m[38;2;248;248;242m (No such file or directory)[0m
|
||||
[38;2;249;38;114mstatfs[0m[38;2;248;248;242m([0m[38;2;230;219;116m"/selinux"[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0x7ffd655ea110[0m[38;2;248;248;242m) = -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mENOENT[0m[38;2;248;248;242m (No such file or directory)[0m
|
||||
[38;2;249;38;114mbrk[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x55bc0a294000[0m
|
||||
[38;2;249;38;114mbrk[0m[38;2;248;248;242m([0m[38;2;190;132;255m0x55bc0a2b5000[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x55bc0a2b5000[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/proc/filesystems"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0444[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m0[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"nodev[0m[38;2;190;132;255m\t[0m[38;2;230;219;116msysfs[0m[38;2;190;132;255m\n[0m[38;2;230;219;116mnodev[0m[38;2;190;132;255m\t[0m[38;2;230;219;116mrootfs[0m[38;2;190;132;255m\n[0m[38;2;230;219;116mnodev[0m[38;2;190;132;255m\t[0m[38;2;230;219;116mr"[0m[38;2;248;248;242m..., [0m[38;2;190;132;255m1024[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m333[0m
|
||||
[38;2;249;38;114mread[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;230;219;116m""[0m[38;2;248;248;242m, [0m[38;2;190;132;255m1024[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114maccess[0m[38;2;248;248;242m([0m[38;2;230;219;116m"/etc/selinux/config"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mF_OK[0m[38;2;248;248;242m) = -[0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mENOENT[0m[38;2;248;248;242m (No such file or directory)[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"/usr/lib/locale/locale-archive"[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFREG[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0644[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m3031696[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mmmap[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mNULL[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3031696[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mPROT_READ[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mMAP_PRIVATE[0m[38;2;248;248;242m, [0m[38;2;190;132;255m3[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0x7f7066206000[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mioctl[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mTCGETS[0m[38;2;248;248;242m, {[0m[3;38;2;102;217;239mB38400[0m[38;2;248;248;242m opost isig icanon echo ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mioctl[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mTIOCGWINSZ[0m[38;2;248;248;242m, {ws_row=[0m[38;2;190;132;255m46[0m[38;2;248;248;242m, ws_col=[0m[38;2;190;132;255m173[0m[38;2;248;248;242m, ws_xpixel=[0m[38;2;190;132;255m0[0m[38;2;248;248;242m, ws_ypixel=[0m[38;2;190;132;255m0[0m[38;2;248;248;242m}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mopenat[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mAT_FDCWD[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"."[0m[38;2;248;248;242m, [0m[3;38;2;102;217;239mO_RDONLY[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_NONBLOCK[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_CLOEXEC[0m[38;2;248;248;242m|[0m[3;38;2;102;217;239mO_DIRECTORY[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m3[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFDIR[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0700[0m[38;2;248;248;242m, st_size=[0m[38;2;190;132;255m4096[0m[38;2;248;248;242m, ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mgetdents64[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, /* [0m[38;2;190;132;255m3[0m[38;2;248;248;242m entries */, [0m[38;2;190;132;255m32768[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m80[0m
|
||||
[38;2;249;38;114mgetdents64[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m, /* [0m[38;2;190;132;255m0[0m[38;2;248;248;242m entries */, [0m[38;2;190;132;255m32768[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m3[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mfstat[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, {st_mode=[0m[3;38;2;102;217;239mS_IFCHR[0m[38;2;248;248;242m|[0m[38;2;190;132;255m0620[0m[38;2;248;248;242m, st_rdev=makedev([0m[38;2;190;132;255m0x88[0m[38;2;248;248;242m, [0m[38;2;190;132;255m0[0m[38;2;248;248;242m), ...}) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mwrite[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m, [0m[38;2;230;219;116m"ls.strace[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m, [0m[38;2;190;132;255m10[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m10[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mclose[0m[38;2;248;248;242m([0m[38;2;190;132;255m2[0m[38;2;248;248;242m) = [0m[38;2;190;132;255m0[0m
|
||||
[38;2;249;38;114mexit_group[0m[38;2;248;248;242m([0m[38;2;190;132;255m0[0m[38;2;248;248;242m) = ?[0m
|
||||
[38;2;248;248;242m+++ exited with [0m[38;2;190;132;255m0[0m[38;2;248;248;242m +++[0m
|
||||
@@ -0,0 +1,90 @@
|
||||
[38;2;249;38;114m@import[0m[38;2;248;248;242m [0m[38;2;230;219;116m'config'[0m
|
||||
|
||||
[38;2;117;113;94m/*[0m
|
||||
[38;2;117;113;94m * Implicit color stop position.[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;166;226;46mpos-in-stops[0m[38;2;248;248;242m([0m[38;2;255;255;255mi[0m[38;2;248;248;242m, [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mlength[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;255;255;255mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;255;255;255mi[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m100%[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;255;255;255mif[0m[38;2;248;248;242m [0m[38;2;255;255;255mi[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46munit[0m[38;2;248;248;242m([0m[38;2;255;255;255mi[0m[38;2;248;248;242m [0m[38;2;249;38;114m/[0m[38;2;248;248;242m [0m[38;2;255;255;255mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m*[0m[38;2;248;248;242m [0m[38;2;190;132;255m100[0m[38;2;248;248;242m, [0m[38;2;230;219;116m'%'[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46m0[0m
|
||||
|
||||
[38;2;117;113;94m/*[0m
|
||||
[38;2;117;113;94m * Normalize color stops:[0m
|
||||
[38;2;117;113;94m *[0m
|
||||
[38;2;117;113;94m * - (color pos) -> (pos color)[0m
|
||||
[38;2;117;113;94m * - (color) -> (implied-pos color)[0m
|
||||
[38;2;117;113;94m *[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;166;226;46mnormalize-stops[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mclone[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m, [0m[38;2;255;255;255mi[0m[38;2;249;38;114m in[0m[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;166;226;46mlength[0m[38;2;248;248;242m([0m[38;2;255;255;255mstop[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mcolor[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mpos-in-stops[0m[38;2;248;248;242m([0m[38;2;255;255;255mi[0m[38;2;248;248;242m, [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mcolor[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;255;255;255mif[0m[38;2;248;248;242m [0m[38;2;166;226;46mtypeof[0m[38;2;248;248;242m([0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;230;219;116m'unit'[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mpos[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mpos[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46ms[0m[3;38;2;166;226;46mt[0m[3;38;2;166;226;46mo[0m[3;38;2;166;226;46mp[0m[3;38;2;166;226;46ms[0m
|
||||
|
||||
[38;2;117;113;94m/*[0m
|
||||
[38;2;117;113;94m * Join color stops with the given translation function.[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;166;226;46mjoin-stops[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m, [0m[38;2;255;255;255mtranslate[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstr[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m''[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mlen[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mlength[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m, [0m[38;2;255;255;255mi[0m[38;2;249;38;114m in[0m[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46ms[0m[3;38;2;166;226;46mt[0m[3;38;2;166;226;46mr[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m', '[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;255;255;255mi[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mpos[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mcolor[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46ms[0m[3;38;2;166;226;46mt[0m[3;38;2;166;226;46mr[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mtranslate[0m[38;2;248;248;242m([0m[38;2;255;255;255mcolor[0m[38;2;248;248;242m, [0m[38;2;255;255;255mpos[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46munquote[0m[38;2;248;248;242m([0m[38;2;255;255;255mstr[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;117;113;94m/*[0m
|
||||
[38;2;117;113;94m * Standard color stop.[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;166;226;46mstd-stop[0m[38;2;248;248;242m([0m[38;2;255;255;255mcolor[0m[38;2;248;248;242m, [0m[38;2;255;255;255mpos[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'%s %s'[0m[38;2;248;248;242m [0m[38;2;249;38;114m%[0m[38;2;248;248;242m (color pos)[0m
|
||||
|
||||
[38;2;117;113;94m/*[0m
|
||||
[38;2;117;113;94m * Create a linear gradient with the given start position[0m
|
||||
[38;2;117;113;94m * and variable number of color stops.[0m
|
||||
[38;2;117;113;94m *[0m
|
||||
[38;2;117;113;94m * Examples:[0m
|
||||
[38;2;117;113;94m *[0m
|
||||
[38;2;117;113;94m * background: linear-gradient(top, red, green, blue)[0m
|
||||
[38;2;117;113;94m * background: linear-gradient(bottom, red, green 50%, blue)[0m
|
||||
[38;2;117;113;94m * background: linear-gradient(bottom, red, 50% green, blue)[0m
|
||||
[38;2;117;113;94m * background: linear-gradient(bottom, red, 50% green, 90% white, blue)[0m
|
||||
[38;2;117;113;94m *[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;166;226;46mlinear-gradient[0m[38;2;248;248;242m([0m[38;2;255;255;255mstart[0m[38;2;248;248;242m, [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46merror[0m[38;2;248;248;242m([0m[38;2;230;219;116m'color stops required'[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m [0m[38;2;166;226;46mlength[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46munquote[0m[38;2;248;248;242m([0m[38;2;230;219;116m'linear-gradient('[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;166;226;46mjoin[0m[38;2;248;248;242m([0m[38;2;230;219;116m', '[0m[38;2;248;248;242m,[0m[38;2;255;255;255marguments[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;230;219;116m')'[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;117;113;94m/*[0m
|
||||
[38;2;117;113;94m * Create a linear gradient image with the given start position[0m
|
||||
[38;2;117;113;94m * and variable number of color stops.[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;166;226;46mlinear-gradient-image[0m[38;2;248;248;242m([0m[38;2;255;255;255mstart[0m[38;2;248;248;242m, [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46merror[0m[38;2;248;248;242m([0m[38;2;230;219;116m'node-canvas is required for linear-gradient-image()'[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m [0m[38;2;255;255;255mhas-canvas[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;166;226;46mlength[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46merror[0m[38;2;248;248;242m([0m[38;2;230;219;116m'gradient image size required'[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m [0m[38;2;255;255;255mstart[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m[38;2;249;38;114m is a[0m[38;2;248;248;242m [0m[38;2;230;219;116m'unit'[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255msize[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstart[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstart[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mstart[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;255;255;255mor[0m[38;2;248;248;242m [0m[38;2;230;219;116m'top'[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mgrad[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mcreate-gradient-image[0m[38;2;248;248;242m([0m[38;2;255;255;255msize[0m[38;2;248;248;242m, [0m[38;2;255;255;255mstart[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;166;226;46mnormalize-stops[0m[38;2;248;248;242m([0m[38;2;255;255;255mstops[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46madd-color-stop[0m[38;2;248;248;242m([0m[38;2;255;255;255mgrad[0m[38;2;248;248;242m, [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m0[0m[38;2;248;248;242m][0m[38;2;248;248;242m, [0m[38;2;255;255;255mstop[0m[38;2;248;248;242m[[0m[38;2;255;255;255m1[0m[38;2;248;248;242m][0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;255;255;255mstop[0m[38;2;249;38;114m in[0m[38;2;248;248;242m [0m[38;2;255;255;255mstops[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'url(%s)'[0m[38;2;248;248;242m [0m[38;2;249;38;114m%[0m[38;2;248;248;242m [0m[38;2;166;226;46mgradient-data-uri[0m[38;2;248;248;242m([0m[38;2;255;255;255mgrad[0m[38;2;248;248;242m)[0m
|
||||
@@ -0,0 +1,35 @@
|
||||
[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;190;132;255m*[0m[38;2;248;248;242m [0m[38;2;249;38;114mas[0m[38;2;248;248;242m [0m[38;2;255;255;255mReact[0m[38;2;248;248;242m [0m[38;2;249;38;114mfrom[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mreact[0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m
|
||||
[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;248;248;242m [0m[38;2;255;255;255mHelloComponent[0m[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m [0m[38;2;249;38;114mfrom[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m./hello[0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m
|
||||
[38;2;249;38;114mimport[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;248;248;242m [0m[38;2;255;255;255mNameEditComponent[0m[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m [0m[38;2;249;38;114mfrom[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116m./nameEdit[0m[38;2;230;219;116m"[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;249;38;114mexport[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mconst[0m[38;2;248;248;242m [0m[38;2;166;226;46mApp[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m=>[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mconst[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;255;255;255mname[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255msetName[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mReact[0m[38;2;248;248;242m.[0m[38;2;166;226;46museState[0m[38;2;255;255;255m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mdefaultUserName[0m[38;2;230;219;116m"[0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mconst[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;255;255;255meditingName[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;255;255;255msetEditingName[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;255;255;255mReact[0m[38;2;248;248;242m.[0m[38;2;166;226;46museState[0m[38;2;255;255;255m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mdefaultUserName[0m[38;2;230;219;116m"[0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mconst[0m[38;2;248;248;242m [0m[38;2;166;226;46mloadUsername[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m=>[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239msetTimeout[0m[38;2;255;255;255m([0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m=>[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46msetName[0m[38;2;255;255;255m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mname from async call[0m[38;2;230;219;116m"[0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46msetEditingName[0m[38;2;255;255;255m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mname from async call[0m[38;2;230;219;116m"[0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255m500[0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255mReact[0m[38;2;248;248;242m.[0m[38;2;166;226;46museEffect[0m[38;2;255;255;255m([0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m=>[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mloadUsername[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242m][0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mconst[0m[38;2;248;248;242m [0m[38;2;166;226;46msetUsernameState[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[3;38;2;102;217;239m=>[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46msetName[0m[38;2;255;255;255m([0m[38;2;255;255;255meditingName[0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;255;255;255m([0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[3;38;2;166;226;46mHelloComponent[0m[38;2;248;248;242m [0m[38;2;166;226;46muserName[0m[38;2;249;38;114m=[0m[38;2;248;248;242m{[0m[38;2;255;255;255mname[0m[38;2;248;248;242m}[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[3;38;2;166;226;46mNameEditComponent[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46minitialUserName[0m[38;2;249;38;114m=[0m[38;2;248;248;242m{[0m[38;2;255;255;255mname[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46meditingName[0m[38;2;249;38;114m=[0m[38;2;248;248;242m{[0m[38;2;255;255;255meditingName[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46monNameUpdated[0m[38;2;249;38;114m=[0m[38;2;248;248;242m{[0m[38;2;255;255;255msetUsernameState[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46monEditingNameUpdated[0m[38;2;249;38;114m=[0m[38;2;248;248;242m{[0m[38;2;255;255;255msetEditingName[0m[38;2;248;248;242m}[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||
@@ -0,0 +1,172 @@
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m Copyright 2018 Schuyler Eldridge[0m
|
||||
[38;2;117;113;94m//[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m Licensed under the Apache License, Version 2.0 (the "License");[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m you may not use this file except in compliance with the License.[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m You may obtain a copy of the License at[0m
|
||||
[38;2;117;113;94m//[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m http://www.apache.org/licenses/LICENSE-2.0[0m
|
||||
[38;2;117;113;94m//[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m Unless required by applicable law or agreed to in writing, software[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m distributed under the License is distributed on an "AS IS" BASIS,[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m See the License for the specific language governing permissions and[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m limitations under the License.[0m
|
||||
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m Implements a fixed-point parameterized pipelined division[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m operation. Outputs are expected to be on range [-1,1), techincally[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m [-1,2^(BITS-1)-1/2^(BITS-1)]. There is no convergent rounding.[0m
|
||||
[38;2;117;113;94m//[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m [TODO] Implement optional convergent rounding and some form of[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m variable output binary point placement. There are arguments in[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m these changes that make sense (specifically, adding an additional[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m bit results in a gain of one value when all the other 2^6 values[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m greater than 1 aren't used). Other improvements that are needed: 1)[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m quotient_gen is getting smaller by one bit in every stage, it would[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m make more sense to generate this as such, 2) there's some weird[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m initial behavior after rst_n is deasserted, you get weird output on[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m the quotient line for a number of cycles.[0m
|
||||
[38;2;117;113;94m//[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m [TODO] This doesn't exactly behave as expected if you specify[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m different BITS and STAGES parameters (which for a functional[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m module, should be implemented). Note, that this technically works,[0m
|
||||
[38;2;117;113;94m//[0m[38;2;117;113;94m but needs more investigation to fully understand its properties.[0m
|
||||
|
||||
[38;2;190;132;255m`timescale[0m[38;2;248;248;242m 1ns [0m[38;2;249;38;114m/[0m[38;2;248;248;242m 1ps[0m
|
||||
[3;38;2;102;217;239mmodule[0m[38;2;248;248;242m [0m[38;2;166;226;46mdiv_pipelined[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46minput[0m[38;2;248;248;242m clk[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46minput[0m[38;2;248;248;242m rst_n[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46minput[0m[38;2;248;248;242m start[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m dividend[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46minput[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m divisor[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46moutput[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mreg[0m[38;2;248;248;242m data_valid[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46moutput[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mreg[0m[38;2;248;248;242m div_by_zero[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46moutput[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mreg[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m quotient[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m output reg [7:0] quotient_correct[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m)[0m[38;2;249;38;114m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m WARNING!!! THESE PARAMETERS ARE INTENDED TO BE MODIFIED IN A TOP[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m LEVEL MODULE. LOCAL CHANGES HERE WILL, MOST LIKELY, BE[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m OVERWRITTEN![0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mparameter[0m
|
||||
[38;2;248;248;242m BITS [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m8[0m[38;2;249;38;114m,[0m
|
||||
[38;2;248;248;242m STAGES [0m[38;2;249;38;114m=[0m[38;2;248;248;242m BITS[0m[38;2;249;38;114m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m y = a/bQ[0m
|
||||
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mreg[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m start_gen[0m[38;2;249;38;114m,[0m[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m,[0m[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mreg[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m,[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m,[0m[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mwire[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m pad_dividend[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mwire[0m[38;2;248;248;242m [0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m pad_divisor[0m[38;2;249;38;114m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114massign[0m[38;2;248;248;242m pad_dividend [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114massign[0m[38;2;248;248;242m pad_divisor [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m sign conversion stage[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114malways[0m[38;2;248;248;242m [0m[38;2;249;38;114m@[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114mposedge[0m[38;2;248;248;242m clk [0m[3;38;2;166;226;46mor[0m[38;2;248;248;242m [0m[38;2;249;38;114mnegedge[0m[38;2;248;248;242m rst_n[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114m![0m[38;2;248;248;242mrst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mdivisor [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m)[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m start[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m dividend[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m^[0m[38;2;248;248;242m divisor[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mdividend[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;249;38;114m~[0m[38;2;249;38;114m{[0m[38;2;248;248;242mdividend[0m[38;2;249;38;114m,[0m[38;2;248;248;242mpad_dividend[0m[38;2;249;38;114m}[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m{[0m[38;2;248;248;242mdividend[0m[38;2;249;38;114m,[0m[38;2;248;248;242mpad_dividend[0m[38;2;249;38;114m}[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mdivisor [0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;249;38;114m~[0m[38;2;249;38;114m{[0m[38;2;190;132;255m1'b1[0m[38;2;249;38;114m,[0m[38;2;248;248;242mdivisor[0m[38;2;249;38;114m,[0m[38;2;248;248;242m pad_divisor[0m[38;2;249;38;114m}[0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m{[0m[38;2;190;132;255m1'b0[0m[38;2;249;38;114m,[0m[38;2;248;248;242mdivisor[0m[38;2;249;38;114m,[0m[38;2;248;248;242m pad_divisor[0m[38;2;249;38;114m}[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m first computation stage[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114malways[0m[38;2;248;248;242m [0m[38;2;249;38;114m@[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114mposedge[0m[38;2;248;248;242m clk [0m[3;38;2;166;226;46mor[0m[38;2;248;248;242m [0m[38;2;249;38;114mnegedge[0m[38;2;248;248;242m rst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114m![0m[38;2;248;248;242mrst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m>[0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;249;38;114m<[0m[38;2;248;248;242m STAGES [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;190;132;255m0[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m else: !if(!rst_n)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m always @ (posedge clk)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mgenerate[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mgenvar[0m[38;2;248;248;242m i[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mi [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m;[0m[38;2;248;248;242m i [0m[38;2;249;38;114m<[0m[38;2;248;248;242m STAGES [0m[38;2;249;38;114m-[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;249;38;114m;[0m[38;2;248;248;242m i [0m[38;2;249;38;114m=[0m[38;2;248;248;242m i [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m pipeline[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114malways[0m[38;2;248;248;242m [0m[38;2;249;38;114m@[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114mposedge[0m[38;2;248;248;242m clk [0m[3;38;2;166;226;46mor[0m[38;2;248;248;242m [0m[38;2;249;38;114mnegedge[0m[38;2;248;248;242m rst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114m![0m[38;2;248;248;242mrst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m>[0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mdividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m<[0m[38;2;249;38;114m<[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m-[0m[38;2;248;248;242mi[0m[38;2;249;38;114m)[0m[38;2;249;38;114m)[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mi[0m[38;2;249;38;114m+[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;248;248;242mi[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m else: !if(!rst_n)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m always @ (posedge clk or negedge rst_n)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m block: pipeline[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mendgenerate[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m last computation stage[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114malways[0m[38;2;248;248;242m [0m[38;2;249;38;114m@[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114mposedge[0m[38;2;248;248;242m clk [0m[3;38;2;166;226;46mor[0m[38;2;248;248;242m [0m[38;2;249;38;114mnegedge[0m[38;2;248;248;242m rst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114m![0m[38;2;248;248;242mrst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m negative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242m dividend_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m divisor_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m3[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m|[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m3[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m else: !if(!rst_n)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m always @ (posedge clk)[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m//[0m[38;2;117;113;94m sign conversion stage[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114malways[0m[38;2;248;248;242m [0m[38;2;249;38;114m@[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114mposedge[0m[38;2;248;248;242m clk [0m[3;38;2;166;226;46mor[0m[38;2;248;248;242m [0m[38;2;249;38;114mnegedge[0m[38;2;248;248;242m rst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;249;38;114m![0m[38;2;248;248;242mrst_n[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m data_valid [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m quotient [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mbegin[0m
|
||||
[38;2;248;248;242m div_by_zero [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m div_by_zero_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m data_valid [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m start_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m quotient [0m[38;2;249;38;114m<=[0m[38;2;248;248;242m [0m[38;2;249;38;114m([0m[38;2;248;248;242mnegative_quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;249;38;114m~[0m[38;2;248;248;242mquotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;248;248;242m [0m[38;2;249;38;114m+[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m:[0m[38;2;248;248;242m quotient_gen[0m[38;2;249;38;114m[[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;249;38;114m:[0m[38;2;248;248;242mBITS[0m[38;2;249;38;114m*[0m[38;2;190;132;255m2[0m[38;2;249;38;114m*[0m[38;2;249;38;114m([0m[38;2;248;248;242mSTAGES[0m[38;2;249;38;114m-[0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;249;38;114m][0m[38;2;249;38;114m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m
|
||||
|
||||
[3;38;2;102;217;239mendmodule[0m
|
||||
+264
@@ -0,0 +1,264 @@
|
||||
[38;2;117;113;94m<!--[0m
|
||||
[38;2;117;113;94m //*********************************************************[0m
|
||||
[38;2;117;113;94m //[0m
|
||||
[38;2;117;113;94m // Copyright (c) Microsoft. All rights reserved.[0m
|
||||
[38;2;117;113;94m // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF[0m
|
||||
[38;2;117;113;94m // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY[0m
|
||||
[38;2;117;113;94m // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR[0m
|
||||
[38;2;117;113;94m // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.[0m
|
||||
[38;2;117;113;94m //[0m
|
||||
[38;2;117;113;94m //*********************************************************[0m
|
||||
[38;2;117;113;94m-->[0m
|
||||
[38;2;255;255;255m<[0m[38;2;249;38;114mPage[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mClass[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAppUIBasics.ItemPage[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttp://schemas.microsoft.com/winfx/2006/xaml/presentation[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m:[0m[38;2;166;226;46mx[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttp://schemas.microsoft.com/winfx/2006/xaml[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m:[0m[38;2;166;226;46mcommon[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116musing:AppUIBasics.Common[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m:[0m[38;2;166;226;46md[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttp://schemas.microsoft.com/expression/blend/2008[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m:[0m[38;2;166;226;46mdata[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116musing:AppUIBasics.Data[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m:[0m[38;2;166;226;46mlocal[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116musing:AppUIBasics[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mxmlns[0m[38;2;166;226;46m:[0m[38;2;166;226;46mmc[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttp://schemas.openxmlformats.org/markup-compatibility/2006[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mpageRoot[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mmc[0m[38;2;166;226;46m:[0m[38;2;166;226;46mIgnorable[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116md[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m
|
||||
[38;2;117;113;94m This grid acts as a root panel for the page that defines two rows:[0m
|
||||
[38;2;117;113;94m * Row 0 contains the back button and page title[0m
|
||||
[38;2;117;113;94m * Row 1 contains the rest of the page layout[0m
|
||||
[38;2;117;113;94m [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mrootPanel[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46md[0m[38;2;166;226;46m:[0m[38;2;166;226;46mDataContext[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{Binding Groups[0].Items[0], Source={d:DesignData Source=/DataModel/ControlinfoData.json, Type=data:ControlInfoDataSource}}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mBackground[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{ThemeResource ApplicationPageBackgroundThemeBrush}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualStateManager.VisualStateGroups[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualStateGroup[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mlocal[0m[38;2;249;38;114m:[0m[38;2;249;38;114mDeviceFamilyTrigger[0m[38;2;248;248;242m [0m[38;2;166;226;46mDeviceFamily[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mWindows.Xbox[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116msvPanel.Margin[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,0,48,27[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualStateGroup[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualStateGroup[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mNormalFrameContent[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mWideFrameContent[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontentFrame.Width[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1028[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontentFrame.HorizontalAlignment[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mLeft[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualStateGroup[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualStateGroup[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mLayoutVisualStates[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mLargeLayout[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mAdaptiveTrigger[0m[38;2;248;248;242m [0m[38;2;166;226;46mMinWindowWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1372[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mWideLayout[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mAdaptiveTrigger[0m[38;2;248;248;242m [0m[38;2;166;226;46mMinWindowWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{StaticResource Breakpoint640Plus}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.Width[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.(Grid.Row)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.(Grid.Column)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSourcePanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentationPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel.(Grid.Row)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel.(Grid.Column)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel.(Grid.Row)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel.(Grid.Column)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mNarrowLayout[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mAdaptiveTrigger[0m[38;2;248;248;242m [0m[38;2;166;226;46mMinWindowWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.StateTriggers[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.Width[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.(Grid.Row)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.(Grid.Column)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSourcePanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentationPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel.(Grid.Row)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel.(Grid.Column)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel.(Grid.Row)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel.(Grid.Column)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel.(Grid.ColumnSpan)[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mrightMargin.Width[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mSetter[0m[38;2;248;248;242m [0m[38;2;166;226;46mTarget[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontentRoot.Padding[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mValue[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m14,0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState.Setters[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualState[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualStateGroup[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mVisualStateManager.VisualStateGroups[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m Content Region [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mScrollViewer[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116msvPanel[0m[38;2;230;219;116m"[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mVerticalScrollBarVisibility[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mVerticalScrollMode[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontentRoot[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mPadding[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m24,0,0,0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mSizeChanged[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mOnContentRootSizeChanged[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid.ColumnDefinitions[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mColumnDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontentColumn[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mColumnDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mrightMargin[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m20[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mColumnDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116minfoColumn[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid.ColumnDefinitions[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid.RowDefinitions[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m*[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m20[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid.RowDefinitions[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mdescriptionText[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mStyle[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{ThemeResource BodyTextBlockStyle}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mGrid.ColumnSpan[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,5,24,0[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mText[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind Item.Description}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mFrame[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mcontentFrame[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Row[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mseeAlsoPanel[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Row[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mGrid.RowSpan[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Column[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m280[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,0,24,24[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid.RowDefinitions[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRowDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mHeight[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mAuto[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid.RowDefinitions[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mGrid.ColumnDefinitions[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mColumnDefinition[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mColumnDefinition[0m[38;2;248;248;242m [0m[38;2;166;226;46mWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m20[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mColumnDefinition[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid.ColumnDefinitions[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mStackPanel[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSourcePanel[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Row[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.ColumnSpan[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,0,0,40[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSourceHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mUid[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mSourceHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mStyle[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{ThemeResource SubtitleTextBlockStyle}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mText[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mView page code on GitHub[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mHyperlinkButton[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mPageMarkupGitHubLink[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mToolTipService.ToolTip[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind PageMarkupGitHubLink.NavigateUri, Mode=OneWay}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m[38;2;248;248;242m [0m[38;2;166;226;46mText[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mXAML source code[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mHyperlinkButton[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mPageCodeGitHubLink[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mToolTipService.ToolTip[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind PageCodeGitHubLink.NavigateUri, Mode=OneWay}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,12,0,0[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m[38;2;248;248;242m [0m[38;2;166;226;46mText[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mC# source code[0m[38;2;230;219;116m"[0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mStackPanel[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mStackPanel[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocumentationPanel[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Row[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m1[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.ColumnSpan[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,0,0,40[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mdocHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mUid[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mStyle[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{StaticResource SubtitleTextBlockStyle}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsControl[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mDocsList[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,12,0,0[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mIsTabStop[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mItemsSource[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind Item.Docs}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsControl.ItemsPanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsPanelTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mStackPanel[0m[38;2;248;248;242m [0m[38;2;166;226;46mOrientation[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mVertical[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsPanelTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsControl.ItemsPanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsControl.ItemTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mDataTemplate[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mDataType[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mdata:ControlInfoDocLink[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;248;248;242m [0m[38;2;166;226;46mNavigateUri[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{Binding Uri}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mToolTipService.ToolTip[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{Binding Uri}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m[38;2;248;248;242m [0m[38;2;166;226;46mText[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind Title}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mDataTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsControl.ItemTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsControl[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mStackPanel[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mStackPanel[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsPanel[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Row[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m2[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.ColumnSpan[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,0,0,40[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mrelatedControlsHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mUid[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRelatedControlsHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mStyle[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{StaticResource SubtitleTextBlockStyle}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsControl[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mrelatedItemsControl[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,12,0,0[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mIsTabStop[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFalse[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mItemsSource[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind Item.RelatedControls}[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsControl.ItemsPanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsPanelTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mStackPanel[0m[38;2;248;248;242m [0m[38;2;166;226;46mOrientation[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mVertical[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsPanelTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsControl.ItemsPanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mItemsControl.ItemTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mDataTemplate[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mDataType[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mx:String[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m A HyperlinkButton must always provide an accessible name to a screen reader which[0m
|
||||
[38;2;117;113;94m conveys the purpose of the link. By default, when the HyperlinkButton is built[0m
|
||||
[38;2;117;113;94m as below, with an Image and TextBlock, the HyperlinkButton provides no accessible[0m
|
||||
[38;2;117;113;94m name. So bind the accessible name to the same data that provides the text shown[0m
|
||||
[38;2;117;113;94m visually on the contained TextBlock. [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;248;248;242m [0m[38;2;166;226;46mAutomationProperties.Name[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mClick[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mOnRelatedControlClick[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mRelativePanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m<!--[0m[38;2;117;113;94m Now that the HyperlinkButton has a helpful accessible name, it serves no[0m
|
||||
[38;2;117;113;94m useful purpose for the contained Image, (which is purely decorative,) or[0m
|
||||
[38;2;117;113;94m the contained TextBlock to be exposed to a screen reader. All the information[0m
|
||||
[38;2;117;113;94m required by customers using a screen reader is accessible directly through the[0m
|
||||
[38;2;117;113;94m Hyperlink button. As such, mark the contained elements as not being interesting[0m
|
||||
[38;2;117;113;94m to a screen reader through use of the AutomationProperties.AccessibilityView[0m
|
||||
[38;2;117;113;94m property. [0m[38;2;117;113;94m-->[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mImage[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mAutomationProperties.AccessibilityView[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRaw[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116miconImage[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mWidth[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m25[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mMargin[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m0,0,15,0[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mcommon[0m[38;2;166;226;46m:[0m[38;2;166;226;46mImageLoader.Source[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{Binding}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mAutomationProperties.AccessibilityView[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mRaw[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mForeground[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{ThemeResource HyperlinkButtonForeground}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mRelativePanel.RightOf[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116miconImage[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mText[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{x:Bind}[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mTextWrapping[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mWrap[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mRelativePanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mDataTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsControl.ItemTemplate[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mItemsControl[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mStackPanel[0m[38;2;255;255;255m>[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mStackPanel[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackPanel[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.Row[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;166;226;46mGrid.ColumnSpan[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m3[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mName[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mfeedbackHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mUid[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackHeader[0m[38;2;230;219;116m"[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mStyle[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116m{StaticResource SubtitleTextBlockStyle}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;248;248;242m [0m[38;2;166;226;46mNavigateUri[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttps://github.com/microsoft/Xaml-Controls-Gallery/issues/new/choose[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mToolTipService.ToolTip[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mhttps://github.com/microsoft/Xaml-Controls-Gallery/issues/new/choose[0m[38;2;230;219;116m"[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m<[0m[38;2;249;38;114mTextBlock[0m[38;2;248;248;242m [0m[38;2;166;226;46mx[0m[38;2;166;226;46m:[0m[38;2;166;226;46mUid[0m[38;2;248;248;242m=[0m[38;2;230;219;116m"[0m[38;2;230;219;116mFeedbackLink[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;255;255;255m/>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mHyperlinkButton[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mStackPanel[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mScrollViewer[0m[38;2;255;255;255m>[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m</[0m[38;2;249;38;114mGrid[0m[38;2;255;255;255m>[0m
|
||||
[38;2;255;255;255m</[0m[38;2;249;38;114mPage[0m[38;2;255;255;255m>[0m
|
||||
+425
@@ -0,0 +1,425 @@
|
||||
[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m!/usr/bin/env dash[0m
|
||||
|
||||
[38;2;166;226;46mesc[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m vt100 (IL is vt102) (DECTCEM is vt520)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mCUD[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sB[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor down[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mCUP[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%s;%sH[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m3[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor home[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mCUU[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sA[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor up[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECAWM[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[?7%s[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m line wrap[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECRC[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s8[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor restore[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECSC[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s7[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor save[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECSTBM[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%s;%sr[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m3[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m scroll region[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mDECTCEM[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[?25%s[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m cursor visible[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mED[0m[38;2;249;38;114m[[0m[38;2;255;255;255m0[0m[38;2;249;38;114m-[0m[38;2;255;255;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sJ[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255m1[0m[38;2;249;38;114m#[0m[38;2;230;219;116mED[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m clear screen[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mEL[0m[38;2;249;38;114m[[0m[38;2;255;255;255m0[0m[38;2;249;38;114m-[0m[38;2;255;255;255m2[0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sK[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255m1[0m[38;2;249;38;114m#[0m[38;2;230;219;116mEL[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m clear line[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mIL[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%sL[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m insert line[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mSGR[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[%s;%sm[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m3[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m colors[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m xterm (since 1988, supported widely)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mscreen_alt[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s[?1049%s[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m alternate buffer[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_setup[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mg[0m[38;2;230;219;116m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31micanon[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mecho[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m screen_alt h[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECAWM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM 1 [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mLINES [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m2[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_reset[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECAWM h [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM h [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2 [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m screen_alt l [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mstty[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m needed for cd-on-exit[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%s\n[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_resize[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m false-positive, behavior intentional, globbing is disabled.[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m shellcheck disable=2046[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31mf[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m+[0m[3;38;2;253;151;31mf[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m([0m[38;2;255;255;255mstty[0m[38;2;255;255;255m size[0m[38;2;255;255;255m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mLINES[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mCOLUMNS[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m space for status_line[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mbottom[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mLINES [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m2[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_scroll_down[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m(([0m[38;2;255;255;255my [0m[38;2;249;38;114m-[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m))[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m[[0m[38;2;255;255;255m0[0m[38;2;249;38;114m-[0m[38;2;255;255;255m9[0m[38;2;249;38;114m][0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my2 [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m<[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m bottom[0m[38;2;230;219;116m))[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\n[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mterm_scroll_up[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-[0m[38;2;249;38;114m*[0m[38;2;249;38;114m|[0m[38;2;255;255;255m0[0m[38;2;249;38;114m|[0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255my2[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m IL[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUU[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my2 [0m[38;2;249;38;114m>[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mcmd_run[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mstty[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM h[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;102;217;239m:[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSTBM 1 [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mLINES [0m[38;2;249;38;114m-[0m[38;2;230;219;116m [0m[38;2;190;132;255m2[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31micanon[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mecho[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mhist[0m[38;2;249;38;114m=[0m[38;2;230;219;116m2[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mfile_escape[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255msafe[0m[38;2;249;38;114m=[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m loop over string char by char[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;255;255;255mc[0m[38;2;255;255;255m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m%[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m#[0m[38;2;249;38;114m?[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m}[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mc[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mreturn[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m[[0m[38;2;249;38;114m[[0m[38;2;255;255;255m:[0m[38;2;255;255;255mcntrl[0m[38;2;255;255;255m:[0m[38;2;249;38;114m][0m[38;2;249;38;114m][0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255msafe[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255msafe[0m[38;2;190;132;255m\?[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255msafe[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255msafe[0m[38;2;255;255;255m$[0m[38;2;255;255;255mc[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mtmp[0m[38;2;249;38;114m#[0m[38;2;249;38;114m?[0m[38;2;230;219;116m}[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mhist_search[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mhist[0m[38;2;249;38;114m=[0m[38;2;230;219;116m0[0m[38;2;255;255;255m [0m[38;2;255;255;255mj[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mfor[0m[38;2;255;255;255m file do[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mPWD[0m[38;2;249;38;114m%%[0m[38;2;255;255;255m/[0m[38;2;255;255;255m}[0m[38;2;255;255;255m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mold_pwd[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mj[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mj [0m[38;2;249;38;114m>[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m mid [0m[38;2;249;38;114m:[0m[38;2;230;219;116m j[0m[38;2;230;219;116m))[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mj[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mj [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mlist_print[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m ED2[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mi[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mend[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mbottom [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mmid[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mbottom [0m[38;2;249;38;114m/[0m[38;2;230;219;116m [0m[38;2;190;132;255m4[0m[38;2;230;219;116m [0m[38;2;249;38;114m<[0m[38;2;230;219;116m [0m[38;2;190;132;255m5[0m[38;2;230;219;116m [0m[38;2;249;38;114m?[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m/[0m[38;2;230;219;116m [0m[38;2;190;132;255m4[0m[38;2;230;219;116m))[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31me[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m empty[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mhist[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m2[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m redraw after cmd run[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y [0m[38;2;249;38;114m-[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m0[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m redraw after go-to-parent[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mhist_search[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>=[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y [0m[38;2;249;38;114m-[0m[38;2;230;219;116m mid [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m0[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m everything else[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>=[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y [0m[38;2;249;38;114m-[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m:[0m[38;2;230;219;116m [0m[38;2;190;132;255m0[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mfor[0m[38;2;255;255;255m file do[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mi[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my2[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 7[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m(([0m[38;2;255;255;255mi [0m[38;2;249;38;114m-[0m[38;2;255;255;255m end[0m[38;2;255;255;255m))[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_format[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mfile[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUD[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mi[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mi [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116my [0m[38;2;249;38;114m>[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m?[0m[38;2;230;219;116m y2 [0m[38;2;249;38;114m:[0m[38;2;230;219;116m y[0m[38;2;230;219;116m))[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mredraw[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mlist_print[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mstatus_line[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSC[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mLINES[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mUSER[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mroot[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 31 7[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 34 7[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m%*s\r%s [0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mCOLUMNS[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m([0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;230;219;116m)[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mltype[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mltype[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECRC[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mprompt[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECSC[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m CUP [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mLINES[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM h[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m EL0[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m2[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mr[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[38;2;255;255;255m icanon echo[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mread[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31mr[0m[38;2;255;255;255m ans[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;102;217;239m:[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstty[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31micanon[0m[3;38;2;253;151;31m -[0m[3;38;2;253;151;31mecho[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECRC[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m DECTCEM l[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116m([0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;230;219;116m) [0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mline_print[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255moffset[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255moffset[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 7[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mshift[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255moffset[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255moffset[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mline_format[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mline_format[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mfile_escape[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31md[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 1 31[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m%[0m[38;2;255;255;255ms[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255msafe[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31md[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m /[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m SGR 0 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;255;255;255m EL0[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\r[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;166;226;46mmain[0m[38;2;255;255;255m([0m[38;2;255;255;255m)[0m[38;2;255;255;255m [0m[38;2;255;255;255m{[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31me[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-h[0m[38;2;249;38;114m|[0m[38;2;255;255;255m--help[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mshfm -[hv] <starting dir>\n[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-v[0m[38;2;249;38;114m|[0m[38;2;255;255;255m--version[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mprintf[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mshfm 0.4.2\n[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 0[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255m1[0m[38;2;249;38;114m:-[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mesc_c[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;102;217;239mprintf[0m[38;2;230;219;116m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\033[0m[38;2;255;255;255m'[0m[38;2;230;219;116m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mbs_char[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m([0m[38;2;102;217;239mprintf[0m[38;2;230;219;116m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m\177[0m[38;2;255;255;255m'[0m[38;2;230;219;116m)[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_resize[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_setup[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mtrap[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mterm_reset[0m[38;2;255;255;255m'[0m[38;2;255;255;255m EXIT INT[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mtrap[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mterm_resize; term_setup; y=1 y2=1; redraw "$@"[0m[38;2;255;255;255m'[0m[38;2;255;255;255m WINCH[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mwhile[0m[38;2;255;255;255m [0m[38;2;255;255;255mkey[0m[38;2;255;255;255m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m([0m[38;2;255;255;255mdd[0m[38;2;255;255;255m ibs=1 count=1 [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null[0m[38;2;255;255;255m)[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mdo[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mkey[0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mesc[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m0[0m[38;2;255;255;255m}[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mk[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mA2[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_scroll_up[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mj[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mB2[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mterm_scroll_down[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255ml[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mC2[0m[38;2;249;38;114m|[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m ARROW RIGHT[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mif[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31md[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;255;255;255m [0m[38;2;249;38;114m&&[0m[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114melif[0m[38;2;255;255;255m [0m[38;2;102;217;239m[[0m[38;2;255;255;255m [0m[3;38;2;253;151;31m-[0m[3;38;2;253;151;31me[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;102;217;239m][0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mcmd_run[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mSHFM_OPENER[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mEDITOR[0m[38;2;249;38;114m:=[0m[38;2;230;219;116mvi[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mcur[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mfi[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mh[0m[38;2;249;38;114m?[0m[38;2;249;38;114m|[0m[38;2;255;255;255mD2[0m[38;2;249;38;114m|[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mbs_char[0m[38;2;255;255;255m"[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m ARROW LEFT[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mold_pwd[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mltype[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;255;255;255m ..[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mhist[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mg[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255my[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mG[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;230;219;116m [0m[38;2;249;38;114m<[0m[38;2;230;219;116m bottom [0m[38;2;249;38;114m?[0m[38;2;230;219;116m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;230;219;116m [0m[38;2;249;38;114m:[0m[38;2;230;219;116m bottom[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m.[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m{[0m[38;2;255;255;255mhidden[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m1[0m[38;2;255;255;255m}[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m1[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mhidden[0m[38;2;249;38;114m=[0m[38;2;230;219;116m0[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m .[0m[38;2;249;38;114m*[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m0[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mhidden[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;249;38;114m;[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m:[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mprompt[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;230;219;116mcd: [0m[38;2;255;255;255m"[0m[38;2;255;255;255m r[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m false positive, behavior intentional[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m shellcheck disable=2088[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m~[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mans[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mHOME[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m~/[0m[38;2;255;255;255m'[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mans[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255mHOME[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mans[0m[38;2;249;38;114m#[0m[38;2;255;255;255m"[0m[38;2;230;219;116m~/[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mans[0m[38;2;249;38;114m:=[0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m0[0m[38;2;255;255;255m"[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m/[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mprompt[0m[38;2;255;255;255m / r[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m word splitting and globbing intentional[0m
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m shellcheck disable=2086[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;249;38;114m*[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mcase[0m[38;2;255;255;255m [0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m [0m[38;2;249;38;114min[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;230;219;116m*1[0m[38;2;255;255;255m"[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mno results[0m[38;2;255;255;255m'[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m[38;2;255;255;255m"[0m[38;2;230;219;116msearch [0m[38;2;255;255;255m$[0m[38;2;255;255;255mPWD[0m[38;2;230;219;116m/[0m[38;2;255;255;255m$[0m[38;2;255;255;255mans[0m[38;2;230;219;116m*[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m-[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mOLDPWD[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/null [0m[38;2;190;132;255m2[0m[38;2;249;38;114m>&[0m[38;2;190;132;255m1[0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;190;132;255m\~[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mcd[0m[38;2;255;255;255m [0m[38;2;249;38;114m||[0m[38;2;255;255;255m [0m[38;2;249;38;114mcontinue[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;249;38;114m*[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;190;132;255m\![0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mexport[0m[38;2;255;255;255m [0m[38;2;255;255;255mSHFM_LEVEL[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mSHFM_LEVEL[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;230;219;116m(([0m[38;2;230;219;116mSHFM_LEVEL [0m[38;2;249;38;114m+[0m[38;2;230;219;116m [0m[38;2;190;132;255m1[0m[38;2;230;219;116m))[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mcmd_run[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;230;219;116m{[0m[38;2;255;255;255mSHELL[0m[38;2;249;38;114m:=[0m[38;2;230;219;116m/bin/sh[0m[38;2;230;219;116m}[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;190;132;255m\?[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m
|
||||
[38;2;255;255;255m [0m[38;2;102;217;239mset[0m[38;2;249;38;114m --[0m[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mj - down[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mk - up[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116ml - open file or directory[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mh - go up level[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mg - go to top[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mG - go to bottom[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116mq - quit[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m: - cd to <input>[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m/ - search current directory <input>*[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m- - go to last directory[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m~ - go home[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m! - spawn shell[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m. - toggle hidden files[0m[38;2;255;255;255m'[0m[38;2;255;255;255m [0m[38;2;255;255;255m\[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m? - show keybinds[0m[38;2;255;255;255m'[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255my[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255my2[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mcur[0m[38;2;249;38;114m=[0m[38;2;255;255;255m$[0m[38;2;255;255;255m1[0m[38;2;255;255;255m [0m[38;2;255;255;255mltype[0m[38;2;249;38;114m=[0m[38;2;230;219;116mkeybinds[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mredraw[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mstatus_line[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m#[0m[38;2;255;255;255m"[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255mq[0m[38;2;249;38;114m?[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;102;217;239mexit[0m[38;2;255;255;255m 0[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
|
||||
[38;2;255;255;255m [0m[3;38;2;124;120;101m#[0m[3;38;2;124;120;101m handle keys which emit escape sequences[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255mesc_c[0m[38;2;255;255;255m"[0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;249;38;114m=[0m[38;2;230;219;116m1[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;255;255;255m'[0m[38;2;230;219;116m[1[0m[38;2;255;255;255m'[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;249;38;114m=[0m[38;2;230;219;116m2[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114m*[0m[38;2;249;38;114m)[0m[38;2;255;255;255m [0m[38;2;255;255;255mesc[0m[38;2;249;38;114m=[0m[38;2;230;219;116m0[0m[38;2;255;255;255m [0m[38;2;255;255;255m;;[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mesac[0m
|
||||
[38;2;255;255;255m [0m[38;2;249;38;114mdone[0m
|
||||
[38;2;255;255;255m}[0m
|
||||
|
||||
[38;2;255;255;255mmain[0m[38;2;255;255;255m [0m[38;2;255;255;255m"[0m[38;2;255;255;255m$[0m[38;2;255;255;255m@[0m[38;2;255;255;255m"[0m[38;2;255;255;255m [0m[38;2;249;38;114m>[0m[38;2;255;255;255m/dev/tty[0m
|
||||
@@ -0,0 +1,88 @@
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m html = [0m[3;38;2;102;217;239mimport[0m[38;2;248;248;242m [0m[38;2;230;219;116m'html.libsonnet'[0m[38;2;248;248;242m;[0m
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m jekyll = [0m[3;38;2;102;217;239mimport[0m[38;2;248;248;242m [0m[38;2;230;219;116m'jekyll.libsonnet'[0m[38;2;248;248;242m;[0m
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m content = [0m[3;38;2;102;217;239mimport[0m[38;2;248;248;242m [0m[38;2;230;219;116m'stdlib-content.jsonnet'[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m
|
||||
[38;2;248;248;242m h1 = html.h1,[0m
|
||||
[38;2;248;248;242m p = html.p;[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m manifestJsonSingleLine(val) = [0m[38;2;102;217;239mstd.strReplace[0m[38;2;248;248;242m([0m[38;2;102;217;239mstd.manifestJsonEx[0m[38;2;248;248;242m(val, [0m[38;2;230;219;116m''[0m[38;2;248;248;242m), [0m[38;2;230;219;116m'[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m'[0m[38;2;248;248;242m, [0m[38;2;230;219;116m' '[0m[38;2;248;248;242m);[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m exampleDoc(ex) =[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mlocal[0m[38;2;248;248;242m exRep =[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;102;217;239mstd.isString[0m[38;2;248;248;242m(ex) [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m ex[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m html.spaceless([html.code({}, ex.input), [0m[38;2;230;219;116m' yields '[0m[38;2;248;248;242m, html.code({}, manifestJsonSingleLine(ex.output))])[0m
|
||||
[38;2;248;248;242m ;[0m
|
||||
[38;2;248;248;242m html.p({}, html.spaceless([[0m[38;2;230;219;116m'Example: '[0m[38;2;248;248;242m, exRep, [0m[38;2;230;219;116m'.'[0m[38;2;248;248;242m]))[0m
|
||||
[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m hgroup(body) = html.div({ [0m[38;2;166;226;46mclass:[0m[38;2;248;248;242m [0m[38;2;230;219;116m'hgroup'[0m[38;2;248;248;242m }, body);[0m
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m hgroup_inline(body) = html.div({ [0m[38;2;166;226;46mclass:[0m[38;2;248;248;242m [0m[38;2;230;219;116m'hgroup-inline'[0m[38;2;248;248;242m }, [body, [0m[38;2;230;219;116m'<div style="clear: both"></div>'[0m[38;2;248;248;242m]);[0m
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m panel(body) = html.div({ [0m[38;2;166;226;46mclass:[0m[38;2;248;248;242m [0m[38;2;230;219;116m'panel'[0m[38;2;248;248;242m }, body);[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m in_panel(body) = hgroup(hgroup_inline(panel(body)));[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m fieldParams(f) =[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;102;217;239mstd.objectHas[0m[38;2;248;248;242m(f, [0m[38;2;230;219;116m'params'[0m[38;2;248;248;242m) [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'('[0m[38;2;248;248;242m + [0m[38;2;102;217;239mstd.join[0m[38;2;248;248;242m([0m[38;2;230;219;116m', '[0m[38;2;248;248;242m, f.params) + [0m[38;2;230;219;116m')'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m''[0m
|
||||
[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m fieldDescription(f) =[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;102;217;239mstd.isString[0m[38;2;248;248;242m(f.description) [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m html.p({}, f.description)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m f.description[0m
|
||||
[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m fieldDoc(f, prefix) =[0m
|
||||
[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m in_panel(html.h4({ [0m[38;2;166;226;46mid:[0m[38;2;248;248;242m f.name }, prefix + [0m[38;2;230;219;116m'.'[0m[38;2;248;248;242m + f.name + fieldParams(f))),[0m
|
||||
[38;2;248;248;242m in_panel([[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;102;217;239mstd.objectHas[0m[38;2;248;248;242m(f, [0m[38;2;230;219;116m'availableSince'[0m[38;2;248;248;242m) [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m ([0m
|
||||
[38;2;248;248;242m html.p([0m
|
||||
[38;2;248;248;242m {},[0m
|
||||
[38;2;248;248;242m html.em([0m
|
||||
[38;2;248;248;242m {},[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m f.availableSince == [0m[38;2;230;219;116m'upcoming'[0m[38;2;248;248;242m [0m[38;2;249;38;114mthen[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'Available in upcoming release.'[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m'Available since version '[0m[38;2;248;248;242m + f.availableSince + [0m[38;2;230;219;116m'.'[0m
|
||||
[38;2;248;248;242m )[0m
|
||||
[38;2;248;248;242m )[0m
|
||||
[38;2;248;248;242m ),[0m
|
||||
[38;2;248;248;242m fieldDescription(f),[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;102;217;239mstd.objectHas[0m[38;2;248;248;242m(f, [0m[38;2;230;219;116m'examples'[0m[38;2;248;248;242m) [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m exampleDoc(ex)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m ex [0m[38;2;249;38;114min[0m[38;2;248;248;242m f.examples[0m
|
||||
[38;2;248;248;242m ] [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [],[0m
|
||||
[38;2;248;248;242m ]),[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m''[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m ];[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m group(group_spec, prefix) =[0m
|
||||
[38;2;248;248;242m [[0m
|
||||
[38;2;248;248;242m in_panel(html.h3({ [0m[38;2;166;226;46mid:[0m[38;2;248;248;242m group_spec.id }, group_spec.name)),[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;102;217;239mstd.objectHas[0m[38;2;248;248;242m(group_spec, [0m[38;2;230;219;116m'intro'[0m[38;2;248;248;242m) [0m[38;2;249;38;114mthen[0m[38;2;248;248;242m in_panel(group_spec.intro),[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m''[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [fieldDoc(f, prefix) [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m f [0m[38;2;249;38;114min[0m[38;2;248;248;242m group_spec.fields],[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m''[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m ];[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m stdlibPage = [[0m
|
||||
[38;2;248;248;242m in_panel(html.h1({[0m[38;2;166;226;46mid:[0m[38;2;248;248;242m [0m[38;2;230;219;116m'standard_library'[0m[38;2;248;248;242m}, [0m[38;2;230;219;116m'Standard Library'[0m[38;2;248;248;242m)),[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m''[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m in_panel(content.intro),[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m''[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [group(g, content.prefix) [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m g [0m[38;2;249;38;114min[0m[38;2;248;248;242m content.groups],[0m
|
||||
[38;2;248;248;242m];[0m
|
||||
|
||||
[38;2;249;38;114mlocal[0m[38;2;248;248;242m stdlibFrontMatter = {[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mlayout:[0m[38;2;248;248;242m [0m[38;2;230;219;116m'default'[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mtitle:[0m[38;2;248;248;242m [0m[38;2;230;219;116m'Standard Library'[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m};[0m
|
||||
|
||||
[38;2;248;248;242mjekyll.renderWithFrontMatter(stdlibFrontMatter, stdlibPage)[0m
|
||||
@@ -0,0 +1,86 @@
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Interface to test varlink implementations against.[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m First you write a varlink client calling:[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Start, Test01, Test02, …, Test09, End[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m The return value of the previous call should be the argument of the next call.[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Then you test this client against well known servers like python or rust from[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m https://github.com/varlink/[0m
|
||||
[38;2;117;113;94m#[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Next you write a varlink server providing the same service as the well known ones.[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m Now run your client against it and run well known clients like python or rust[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m from https://github.com/varlink/ against your server. If all works out, then[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m your new language bindings should be varlink certified.[0m
|
||||
[3;38;2;102;217;239minterface[0m[38;2;248;248;242m [0m[38;2;166;226;46morg.varlink.certification[0m
|
||||
|
||||
[3;38;2;102;217;239mtype[0m[38;2;248;248;242m [0m[38;2;166;226;46mInterface[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mfoo[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;249;38;114m[][0m[38;2;249;38;114m?[0m[38;2;249;38;114m[string][0m[38;2;248;248;242m([0m[3;38;2;253;151;31mfoo[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mbar[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mbaz[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31manon[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mfoo[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mbar[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mtype[0m[38;2;248;248;242m [0m[38;2;166;226;46mMyType[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mobject[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mobject[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31menum[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mone[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mtwo[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mthree[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstruct[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mfirst[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31msecond[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31marray[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[][0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mdictionary[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[string][0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstringset[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[string][0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mnullable[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mnullable_array_struct[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;249;38;114m[][0m[38;2;248;248;242m([0m[3;38;2;253;151;31mfirst[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31msecond[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31minterface[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mInterface[0m
|
||||
[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mStart[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest01[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mbool[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest02[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mbool[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mint[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest03[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mint[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mfloat[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfloat[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest04[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mfloat[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfloat[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest05[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mbool[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mint[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mfloat[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfloat[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m
|
||||
[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest06[0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mbool[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mint[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mfloat[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfloat[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m
|
||||
[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstruct[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mbool[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mint[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mfloat[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfloat[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest07[0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstruct[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mbool[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mint[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mfloat[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mfloat[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mmap[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[string][0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest08[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mmap[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[string][0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mset[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[string][0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest09[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mset[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[string][0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mmytype[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mMyType[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m returns more than one reply with "continues"[0m
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest10[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mmytype[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;166;226;46mMyType[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mstring[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m must be called as "oneway"[0m
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mTest11[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mlast_more_replies[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;249;38;114m[][0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239mmethod[0m[38;2;248;248;242m [0m[38;2;166;226;46mEnd[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mclient_id[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstring[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m-> [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mall_ok[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mbool[0m[38;2;248;248;242m)[0m
|
||||
|
||||
[3;38;2;102;217;239merror[0m[38;2;248;248;242m [0m[38;2;166;226;46mClientIdError[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m
|
||||
[3;38;2;102;217;239merror[0m[38;2;248;248;242m [0m[38;2;166;226;46mCertificationError[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[3;38;2;253;151;31mwants[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mobject[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;253;151;31mgot[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mobject[0m[38;2;248;248;242m)[0m
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
The `semantic.cabal` file has been added from https://github.com/github/semantic under the following license:
|
||||
|
||||
```text
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2015-2019 GitHub
|
||||
|
||||
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.
|
||||
```
|
||||
+247
@@ -0,0 +1,247 @@
|
||||
cabal-version: 2.4
|
||||
|
||||
name: semantic
|
||||
version: 0.11.0.1
|
||||
synopsis: Framework and executable for analyzing and diffing untrusted code.
|
||||
description: Semantic is a library for parsing, analyzing, and comparing source code across many languages.
|
||||
homepage: http://github.com/github/semantic#readme
|
||||
bug-reports: https://github.com/github/semantic/issues
|
||||
license: MIT
|
||||
license-file: LICENSE
|
||||
author: The Semantic authors
|
||||
maintainer: opensource+semantic@github.com
|
||||
copyright: (c) 2015-2020 GitHub, Inc.
|
||||
category: Language
|
||||
build-type: Simple
|
||||
stability: alpha
|
||||
extra-source-files: README.md
|
||||
|
||||
tested-with: GHC == 8.10.1
|
||||
|
||||
flag release
|
||||
description: Build with optimizations on (for CI or deployment builds)
|
||||
default: False
|
||||
|
||||
-- GHC extensions shared between targets
|
||||
common haskell
|
||||
default-language: Haskell2010
|
||||
default-extensions: StrictData
|
||||
ghc-options:
|
||||
-Weverything
|
||||
-Wno-missing-local-signatures
|
||||
-Wno-missing-import-lists
|
||||
-Wno-implicit-prelude
|
||||
-Wno-safe
|
||||
-Wno-unsafe
|
||||
-Wno-name-shadowing
|
||||
-Wno-monomorphism-restriction
|
||||
-Wno-missed-specialisations
|
||||
-Wno-all-missed-specialisations
|
||||
-Wno-star-is-type
|
||||
cpp-options:
|
||||
-DBAZEL_BUILD=0
|
||||
if (impl(ghc >= 8.8))
|
||||
ghc-options: -Wno-missing-deriving-strategies
|
||||
if (impl(ghc >= 8.10))
|
||||
ghc-options:
|
||||
-Wno-missing-safe-haskell-mode
|
||||
-Wno-prepositive-qualified-module
|
||||
|
||||
common executable-flags
|
||||
ghc-options: -threaded -rtsopts "-with-rtsopts=-N -A4m -n2m"
|
||||
|
||||
library
|
||||
import: haskell
|
||||
hs-source-dirs: src
|
||||
exposed-modules: Control.Carrier.Parse.Measured
|
||||
, Control.Carrier.Parse.Simple
|
||||
-- Effects
|
||||
, Control.Effect.Parse
|
||||
, Control.Effect.Sum.Project
|
||||
, Control.Effect.Timeout
|
||||
-- General datatype definitions & generic algorithms
|
||||
, Data.Blob
|
||||
, Data.Blob.IO
|
||||
, Data.Duration
|
||||
, Data.Edit
|
||||
, Data.Error
|
||||
, Data.Flag
|
||||
, Data.Graph.Algebraic
|
||||
, Data.Handle
|
||||
, Data.Maybe.Exts
|
||||
, Data.Semigroup.App
|
||||
-- Parser glue
|
||||
, Parsing.Parser
|
||||
, Parsing.TreeSitter
|
||||
-- API
|
||||
, Semantic.Api
|
||||
, Semantic.Api.Bridge
|
||||
, Semantic.Api.StackGraph
|
||||
, Semantic.Api.Symbols
|
||||
, Semantic.Api.Terms
|
||||
, Semantic.CLI
|
||||
, Semantic.Config
|
||||
, Semantic.Env
|
||||
, Semantic.IO
|
||||
, Semantic.Task
|
||||
, Semantic.Task.Files
|
||||
, Semantic.Telemetry
|
||||
, Semantic.Telemetry.AsyncQueue
|
||||
, Semantic.Telemetry.Error
|
||||
, Semantic.Telemetry.Log
|
||||
, Semantic.Telemetry.Stat
|
||||
, Semantic.Util
|
||||
, Semantic.Util.Pretty
|
||||
, Semantic.Version
|
||||
-- Serialization
|
||||
, Serializing.Format
|
||||
, Serializing.SExpression.Precise
|
||||
-- Custom Prelude
|
||||
autogen-modules: Paths_semantic
|
||||
other-modules: Paths_semantic
|
||||
-- Except in case of vendored dependencies, these deps should be expressed
|
||||
-- as caret-operator bounds relative to a version in Stackage.
|
||||
-- These are currently pinned to lts-13.13.
|
||||
build-depends:
|
||||
, aeson ^>= 1.4.2.0
|
||||
, algebraic-graphs ^>= 0.3
|
||||
, ansi-terminal >= 0.8.2 && <1
|
||||
, async ^>= 2.2.1
|
||||
, base >= 4.13 && < 5
|
||||
, bytestring ^>= 0.10.8.2
|
||||
, containers ^>= 0.6.0.1
|
||||
, directory-tree ^>= 0.12.1
|
||||
, filepath ^>= 1.4.2.1
|
||||
, fused-effects ^>= 1.1
|
||||
, ghc-prim >= 0.5 && < 0.7
|
||||
, hostname ^>= 1.0
|
||||
, hscolour ^>= 1.24.4
|
||||
, lens >= 4.17 && < 4.20
|
||||
, network ^>= 2.8.0.0
|
||||
, network-uri ^>= 2.6.1.0
|
||||
, optparse-applicative >= 0.14.3 && < 0.16
|
||||
, pathtype ^>= 0.8.1
|
||||
, pretty-show ^>= 1.9.5
|
||||
, proto-lens >= 0.5 && < 0.8
|
||||
, semantic-analysis ^>= 0
|
||||
, semantic-ast
|
||||
, semantic-codeql ^>= 0
|
||||
, semantic-go ^>= 0
|
||||
, semantic-java ^>= 0
|
||||
, semantic-json ^>= 0
|
||||
, semantic-php ^>= 0
|
||||
, semantic-proto ^>= 0
|
||||
, semantic-python ^>= 0
|
||||
, semantic-ruby ^>= 0
|
||||
, semantic-scope-graph ^>= 0
|
||||
, semantic-source ^>= 0.1.0.1
|
||||
, semantic-tags ^>= 0
|
||||
, semantic-tsx ^>= 0
|
||||
, semantic-typescript ^>= 0
|
||||
, semilattices ^>= 0.0.0.3
|
||||
, split ^>= 0.2.3.3
|
||||
, stm-chans ^>= 3.0.0.4
|
||||
, text ^>= 1.2.3.2
|
||||
, time >= 1.8.0.2 && < 1.10
|
||||
, tree-sitter ^>= 0.9.0.1
|
||||
, tree-sitter-go ^>= 0.5.0.0
|
||||
, tree-sitter-java ^>= 0.7.0.0
|
||||
, tree-sitter-json ^>= 0.7.0.0
|
||||
, tree-sitter-php ^>= 0.5.0.0
|
||||
, tree-sitter-python ^>= 0.9.0.1
|
||||
, tree-sitter-ql ^>= 0.1.0.1
|
||||
, tree-sitter-ruby ^>= 0.5.0.0
|
||||
, tree-sitter-tsx ^>= 0.5.0.0
|
||||
, tree-sitter-typescript ^>= 0.5.0.0
|
||||
, unix ^>= 2.7.2.2
|
||||
|
||||
executable semantic
|
||||
import: haskell, executable-flags
|
||||
hs-source-dirs: app
|
||||
main-is: Main.hs
|
||||
build-depends:
|
||||
, base
|
||||
, semantic
|
||||
|
||||
test-suite test
|
||||
import: haskell, executable-flags
|
||||
type: exitcode-stdio-1.0
|
||||
hs-source-dirs: test
|
||||
main-is: Spec.hs
|
||||
other-modules: Data.Graph.Spec
|
||||
, Data.Language.Spec
|
||||
, Data.Semigroup.App.Spec
|
||||
, Integration.Spec
|
||||
, Semantic.Spec
|
||||
, Semantic.CLI.Spec
|
||||
, Semantic.IO.Spec
|
||||
, Semantic.Stat.Spec
|
||||
, Tags.Spec
|
||||
, SpecHelpers
|
||||
, Generators
|
||||
, Properties
|
||||
build-depends:
|
||||
, algebraic-graphs ^>= 0.3
|
||||
, base >= 4.13 && < 5
|
||||
, bytestring ^>= 0.10.8.2
|
||||
, fused-effects
|
||||
, Glob ^>= 0.10.0
|
||||
, hedgehog ^>= 1
|
||||
, hspec >= 2.6 && <3
|
||||
, hspec-expectations ^>= 0.8.2
|
||||
, network ^>= 2.8.0.0
|
||||
, pathtype ^>= 0.8.1
|
||||
, semantic
|
||||
, semantic-analysis
|
||||
, semantic-ast
|
||||
, semantic-proto
|
||||
, semantic-source ^>= 0.1.0.1
|
||||
, semantic-tags
|
||||
, semilattices
|
||||
, tasty ^>= 1.2.3
|
||||
, tasty-golden ^>= 2.3.2
|
||||
, tasty-hedgehog ^>= 1.0.0.1
|
||||
, tasty-hspec ^>= 1.1.5.1
|
||||
, tasty-hunit ^>= 0.10.0.2
|
||||
|
||||
test-suite parse-examples
|
||||
import: haskell, executable-flags
|
||||
type: exitcode-stdio-1.0
|
||||
hs-source-dirs: test
|
||||
main-is: Examples.hs
|
||||
build-depends:
|
||||
, async ^>= 2.2.1
|
||||
, base
|
||||
, fused-effects ^>= 1.1
|
||||
, Glob
|
||||
, lens >= 4.17 && < 4.20
|
||||
, pathtype ^>= 0.8.1
|
||||
, process ^>= 1.6.3.0
|
||||
, semantic
|
||||
, semantic-analysis ^>= 0
|
||||
, semantic-ast
|
||||
, semantic-proto ^>= 0
|
||||
, tasty
|
||||
, tasty-hunit
|
||||
, text ^>= 1.2.3.2
|
||||
|
||||
benchmark benchmarks
|
||||
import: haskell, executable-flags
|
||||
hs-source-dirs: bench
|
||||
type: exitcode-stdio-1.0
|
||||
main-is: Main.hs
|
||||
other-modules: Tagging
|
||||
ghc-options: -static
|
||||
build-depends:
|
||||
, base
|
||||
, fused-effects ^>= 1.1
|
||||
, gauge ^>= 0.2.5
|
||||
, Glob
|
||||
, pathtype ^>= 0.8.1
|
||||
, semantic
|
||||
, semantic-analysis ^>= 0
|
||||
, semantic-proto
|
||||
|
||||
source-repository head
|
||||
type: git
|
||||
location: https://github.com/github/semantic
|
||||
@@ -0,0 +1,26 @@
|
||||
The `coffeescript.coffee` file has been added from https://github.com/jashkenas/coffeescript under the following license:
|
||||
|
||||
```text
|
||||
Copyright (c) 2009-2018 Jeremy Ashkenas
|
||||
|
||||
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.
|
||||
```
|
||||
@@ -0,0 +1,391 @@
|
||||
# CoffeeScript can be used both on the server, as a command-line compiler based
|
||||
# on Node.js/V8, or to run CoffeeScript directly in the browser. This module
|
||||
# contains the main entry functions for tokenizing, parsing, and compiling
|
||||
# source CoffeeScript into JavaScript.
|
||||
|
||||
{Lexer} = require './lexer'
|
||||
{parser} = require './parser'
|
||||
helpers = require './helpers'
|
||||
SourceMap = require './sourcemap'
|
||||
# Require `package.json`, which is two levels above this file, as this file is
|
||||
# evaluated from `lib/coffeescript`.
|
||||
packageJson = require '../../package.json'
|
||||
|
||||
# The current CoffeeScript version number.
|
||||
exports.VERSION = packageJson.version
|
||||
|
||||
exports.FILE_EXTENSIONS = FILE_EXTENSIONS = ['.coffee', '.litcoffee', '.coffee.md']
|
||||
|
||||
# Expose helpers for testing.
|
||||
exports.helpers = helpers
|
||||
|
||||
# Function that allows for btoa in both nodejs and the browser.
|
||||
base64encode = (src) -> switch
|
||||
when typeof Buffer is 'function'
|
||||
Buffer.from(src).toString('base64')
|
||||
when typeof btoa is 'function'
|
||||
# The contents of a `<script>` block are encoded via UTF-16, so if any extended
|
||||
# characters are used in the block, btoa will fail as it maxes out at UTF-8.
|
||||
# See https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem
|
||||
# for the gory details, and for the solution implemented here.
|
||||
btoa encodeURIComponent(src).replace /%([0-9A-F]{2})/g, (match, p1) ->
|
||||
String.fromCharCode '0x' + p1
|
||||
else
|
||||
throw new Error('Unable to base64 encode inline sourcemap.')
|
||||
|
||||
# Function wrapper to add source file information to SyntaxErrors thrown by the
|
||||
# lexer/parser/compiler.
|
||||
withPrettyErrors = (fn) ->
|
||||
(code, options = {}) ->
|
||||
try
|
||||
fn.call @, code, options
|
||||
catch err
|
||||
throw err if typeof code isnt 'string' # Support `CoffeeScript.nodes(tokens)`.
|
||||
throw helpers.updateSyntaxError err, code, options.filename
|
||||
|
||||
# For each compiled file, save its source in memory in case we need to
|
||||
# recompile it later. We might need to recompile if the first compilation
|
||||
# didn’t create a source map (faster) but something went wrong and we need
|
||||
# a stack trace. Assuming that most of the time, code isn’t throwing
|
||||
# exceptions, it’s probably more efficient to compile twice only when we
|
||||
# need a stack trace, rather than always generating a source map even when
|
||||
# it’s not likely to be used. Save in form of `filename`: [`(source)`]
|
||||
sources = {}
|
||||
# Also save source maps if generated, in form of `(source)`: [`(source map)`].
|
||||
sourceMaps = {}
|
||||
|
||||
# This is exported to enable an external module to implement caching of
|
||||
# compilation results. When the compiled js source is loaded from cache, the
|
||||
# original coffee code should be added with this method in order to enable the
|
||||
# Error.prepareStackTrace below to correctly adjust the stack trace for the
|
||||
# corresponding file (the source map will be generated on demand).
|
||||
exports.registerCompiled = registerCompiled = (filename, source, sourcemap) ->
|
||||
|
||||
sources[filename] ?= []
|
||||
sources[filename].push source
|
||||
|
||||
if sourcemap?
|
||||
sourceMaps[filename] ?= []
|
||||
sourceMaps[filename].push sourcemap
|
||||
|
||||
# Compile CoffeeScript code to JavaScript, using the Coffee/Jison compiler.
|
||||
#
|
||||
# If `options.sourceMap` is specified, then `options.filename` must also be
|
||||
# specified. All options that can be passed to `SourceMap#generate` may also
|
||||
# be passed here.
|
||||
#
|
||||
# This returns a javascript string, unless `options.sourceMap` is passed,
|
||||
# in which case this returns a `{js, v3SourceMap, sourceMap}`
|
||||
# object, where sourceMap is a sourcemap.coffee#SourceMap object, handy for
|
||||
# doing programmatic lookups.
|
||||
exports.compile = compile = withPrettyErrors (code, options = {}) ->
|
||||
# Clone `options`, to avoid mutating the `options` object passed in.
|
||||
options = Object.assign {}, options
|
||||
# Always generate a source map if no filename is passed in, since without a
|
||||
# a filename we have no way to retrieve this source later in the event that
|
||||
# we need to recompile it to get a source map for `prepareStackTrace`.
|
||||
generateSourceMap = options.sourceMap or options.inlineMap or not options.filename?
|
||||
filename = options.filename or '<anonymous>'
|
||||
|
||||
checkShebangLine filename, code
|
||||
|
||||
map = new SourceMap if generateSourceMap
|
||||
|
||||
tokens = lexer.tokenize code, options
|
||||
|
||||
# Pass a list of referenced variables, so that generated variables won’t get
|
||||
# the same name.
|
||||
options.referencedVars = (
|
||||
token[1] for token in tokens when token[0] is 'IDENTIFIER'
|
||||
)
|
||||
|
||||
# Check for import or export; if found, force bare mode.
|
||||
unless options.bare? and options.bare is yes
|
||||
for token in tokens
|
||||
if token[0] in ['IMPORT', 'EXPORT']
|
||||
options.bare = yes
|
||||
break
|
||||
|
||||
nodes = parser.parse tokens
|
||||
# If all that was requested was a POJO representation of the nodes, e.g.
|
||||
# the abstract syntax tree (AST), we can stop now and just return that
|
||||
# (after fixing the location data for the root/`File`»`Program` node,
|
||||
# which might’ve gotten misaligned from the original source due to the
|
||||
# `clean` function in the lexer).
|
||||
if options.ast
|
||||
nodes.allCommentTokens = helpers.extractAllCommentTokens tokens
|
||||
sourceCodeNumberOfLines = (code.match(/\r?\n/g) or '').length + 1
|
||||
sourceCodeLastLine = /.*$/.exec(code)[0] # `.*` matches all but line break characters.
|
||||
ast = nodes.ast options
|
||||
range = [0, code.length]
|
||||
ast.start = ast.program.start = range[0]
|
||||
ast.end = ast.program.end = range[1]
|
||||
ast.range = ast.program.range = range
|
||||
ast.loc.start = ast.program.loc.start = {line: 1, column: 0}
|
||||
ast.loc.end.line = ast.program.loc.end.line = sourceCodeNumberOfLines
|
||||
ast.loc.end.column = ast.program.loc.end.column = sourceCodeLastLine.length
|
||||
ast.tokens = tokens
|
||||
return ast
|
||||
|
||||
fragments = nodes.compileToFragments options
|
||||
|
||||
currentLine = 0
|
||||
currentLine += 1 if options.header
|
||||
currentLine += 1 if options.shiftLine
|
||||
currentColumn = 0
|
||||
js = ""
|
||||
for fragment in fragments
|
||||
# Update the sourcemap with data from each fragment.
|
||||
if generateSourceMap
|
||||
# Do not include empty, whitespace, or semicolon-only fragments.
|
||||
if fragment.locationData and not /^[;\s]*$/.test fragment.code
|
||||
map.add(
|
||||
[fragment.locationData.first_line, fragment.locationData.first_column]
|
||||
[currentLine, currentColumn]
|
||||
{noReplace: true})
|
||||
newLines = helpers.count fragment.code, "\n"
|
||||
currentLine += newLines
|
||||
if newLines
|
||||
currentColumn = fragment.code.length - (fragment.code.lastIndexOf("\n") + 1)
|
||||
else
|
||||
currentColumn += fragment.code.length
|
||||
|
||||
# Copy the code from each fragment into the final JavaScript.
|
||||
js += fragment.code
|
||||
|
||||
if options.header
|
||||
header = "Generated by CoffeeScript #{@VERSION}"
|
||||
js = "// #{header}\n#{js}"
|
||||
|
||||
if generateSourceMap
|
||||
v3SourceMap = map.generate options, code
|
||||
|
||||
if options.transpile
|
||||
if typeof options.transpile isnt 'object'
|
||||
# This only happens if run via the Node API and `transpile` is set to
|
||||
# something other than an object.
|
||||
throw new Error 'The transpile option must be given an object with options to pass to Babel'
|
||||
|
||||
# Get the reference to Babel that we have been passed if this compiler
|
||||
# is run via the CLI or Node API.
|
||||
transpiler = options.transpile.transpile
|
||||
delete options.transpile.transpile
|
||||
|
||||
transpilerOptions = Object.assign {}, options.transpile
|
||||
|
||||
# See https://github.com/babel/babel/issues/827#issuecomment-77573107:
|
||||
# Babel can take a v3 source map object as input in `inputSourceMap`
|
||||
# and it will return an *updated* v3 source map object in its output.
|
||||
if v3SourceMap and not transpilerOptions.inputSourceMap?
|
||||
transpilerOptions.inputSourceMap = v3SourceMap
|
||||
transpilerOutput = transpiler js, transpilerOptions
|
||||
js = transpilerOutput.code
|
||||
if v3SourceMap and transpilerOutput.map
|
||||
v3SourceMap = transpilerOutput.map
|
||||
|
||||
if options.inlineMap
|
||||
encoded = base64encode JSON.stringify v3SourceMap
|
||||
sourceMapDataURI = "//# sourceMappingURL=data:application/json;base64,#{encoded}"
|
||||
sourceURL = "//# sourceURL=#{options.filename ? 'coffeescript'}"
|
||||
js = "#{js}\n#{sourceMapDataURI}\n#{sourceURL}"
|
||||
|
||||
registerCompiled filename, code, map
|
||||
|
||||
if options.sourceMap
|
||||
{
|
||||
js
|
||||
sourceMap: map
|
||||
v3SourceMap: JSON.stringify v3SourceMap, null, 2
|
||||
}
|
||||
else
|
||||
js
|
||||
|
||||
# Tokenize a string of CoffeeScript code, and return the array of tokens.
|
||||
exports.tokens = withPrettyErrors (code, options) ->
|
||||
lexer.tokenize code, options
|
||||
|
||||
# Parse a string of CoffeeScript code or an array of lexed tokens, and
|
||||
# return the AST. You can then compile it by calling `.compile()` on the root,
|
||||
# or traverse it by using `.traverseChildren()` with a callback.
|
||||
exports.nodes = withPrettyErrors (source, options) ->
|
||||
source = lexer.tokenize source, options if typeof source is 'string'
|
||||
parser.parse source
|
||||
|
||||
# This file used to export these methods; leave stubs that throw warnings
|
||||
# instead. These methods have been moved into `index.coffee` to provide
|
||||
# separate entrypoints for Node and non-Node environments, so that static
|
||||
# analysis tools don’t choke on Node packages when compiling for a non-Node
|
||||
# environment.
|
||||
exports.run = exports.eval = exports.register = ->
|
||||
throw new Error 'require index.coffee, not this file'
|
||||
|
||||
# Instantiate a Lexer for our use here.
|
||||
lexer = new Lexer
|
||||
|
||||
# The real Lexer produces a generic stream of tokens. This object provides a
|
||||
# thin wrapper around it, compatible with the Jison API. We can then pass it
|
||||
# directly as a “Jison lexer.”
|
||||
parser.lexer =
|
||||
yylloc:
|
||||
range: []
|
||||
options:
|
||||
ranges: yes
|
||||
lex: ->
|
||||
token = parser.tokens[@pos++]
|
||||
if token
|
||||
[tag, @yytext, @yylloc] = token
|
||||
parser.errorToken = token.origin or token
|
||||
@yylineno = @yylloc.first_line
|
||||
else
|
||||
tag = ''
|
||||
tag
|
||||
setInput: (tokens) ->
|
||||
parser.tokens = tokens
|
||||
@pos = 0
|
||||
upcomingInput: -> ''
|
||||
|
||||
# Make all the AST nodes visible to the parser.
|
||||
parser.yy = require './nodes'
|
||||
|
||||
# Override Jison's default error handling function.
|
||||
parser.yy.parseError = (message, {token}) ->
|
||||
# Disregard Jison's message, it contains redundant line number information.
|
||||
# Disregard the token, we take its value directly from the lexer in case
|
||||
# the error is caused by a generated token which might refer to its origin.
|
||||
{errorToken, tokens} = parser
|
||||
[errorTag, errorText, errorLoc] = errorToken
|
||||
|
||||
errorText = switch
|
||||
when errorToken is tokens[tokens.length - 1]
|
||||
'end of input'
|
||||
when errorTag in ['INDENT', 'OUTDENT']
|
||||
'indentation'
|
||||
when errorTag in ['IDENTIFIER', 'NUMBER', 'INFINITY', 'STRING', 'STRING_START', 'REGEX', 'REGEX_START']
|
||||
errorTag.replace(/_START$/, '').toLowerCase()
|
||||
else
|
||||
helpers.nameWhitespaceCharacter errorText
|
||||
|
||||
# The second argument has a `loc` property, which should have the location
|
||||
# data for this token. Unfortunately, Jison seems to send an outdated `loc`
|
||||
# (from the previous token), so we take the location information directly
|
||||
# from the lexer.
|
||||
helpers.throwSyntaxError "unexpected #{errorText}", errorLoc
|
||||
|
||||
# Based on http://v8.googlecode.com/svn/branches/bleeding_edge/src/messages.js
|
||||
# Modified to handle sourceMap
|
||||
formatSourcePosition = (frame, getSourceMapping) ->
|
||||
filename = undefined
|
||||
fileLocation = ''
|
||||
|
||||
if frame.isNative()
|
||||
fileLocation = "native"
|
||||
else
|
||||
if frame.isEval()
|
||||
filename = frame.getScriptNameOrSourceURL()
|
||||
fileLocation = "#{frame.getEvalOrigin()}, " unless filename
|
||||
else
|
||||
filename = frame.getFileName()
|
||||
|
||||
filename or= "<anonymous>"
|
||||
|
||||
line = frame.getLineNumber()
|
||||
column = frame.getColumnNumber()
|
||||
|
||||
# Check for a sourceMap position
|
||||
source = getSourceMapping filename, line, column
|
||||
fileLocation =
|
||||
if source
|
||||
"#{filename}:#{source[0]}:#{source[1]}"
|
||||
else
|
||||
"#{filename}:#{line}:#{column}"
|
||||
|
||||
functionName = frame.getFunctionName()
|
||||
isConstructor = frame.isConstructor()
|
||||
isMethodCall = not (frame.isToplevel() or isConstructor)
|
||||
|
||||
if isMethodCall
|
||||
methodName = frame.getMethodName()
|
||||
typeName = frame.getTypeName()
|
||||
|
||||
if functionName
|
||||
tp = as = ''
|
||||
if typeName and functionName.indexOf typeName
|
||||
tp = "#{typeName}."
|
||||
if methodName and functionName.indexOf(".#{methodName}") isnt functionName.length - methodName.length - 1
|
||||
as = " [as #{methodName}]"
|
||||
|
||||
"#{tp}#{functionName}#{as} (#{fileLocation})"
|
||||
else
|
||||
"#{typeName}.#{methodName or '<anonymous>'} (#{fileLocation})"
|
||||
else if isConstructor
|
||||
"new #{functionName or '<anonymous>'} (#{fileLocation})"
|
||||
else if functionName
|
||||
"#{functionName} (#{fileLocation})"
|
||||
else
|
||||
fileLocation
|
||||
|
||||
getSourceMap = (filename, line, column) ->
|
||||
# Skip files that we didn’t compile, like Node system files that appear in
|
||||
# the stack trace, as they never have source maps.
|
||||
return null unless filename is '<anonymous>' or filename.slice(filename.lastIndexOf('.')) in FILE_EXTENSIONS
|
||||
|
||||
if filename isnt '<anonymous>' and sourceMaps[filename]?
|
||||
return sourceMaps[filename][sourceMaps[filename].length - 1]
|
||||
# CoffeeScript compiled in a browser or via `CoffeeScript.compile` or `.run`
|
||||
# may get compiled with `options.filename` that’s missing, which becomes
|
||||
# `<anonymous>`; but the runtime might request the stack trace with the
|
||||
# filename of the script file. See if we have a source map cached under
|
||||
# `<anonymous>` that matches the error.
|
||||
else if sourceMaps['<anonymous>']?
|
||||
# Work backwards from the most recent anonymous source maps, until we find
|
||||
# one that works. This isn’t foolproof; there is a chance that multiple
|
||||
# source maps will have line/column pairs that match. But we have no other
|
||||
# way to match them. `frame.getFunction().toString()` doesn’t always work,
|
||||
# and it’s not foolproof either.
|
||||
for map in sourceMaps['<anonymous>'] by -1
|
||||
sourceLocation = map.sourceLocation [line - 1, column - 1]
|
||||
return map if sourceLocation?[0]? and sourceLocation[1]?
|
||||
|
||||
# If all else fails, recompile this source to get a source map. We need the
|
||||
# previous section (for `<anonymous>`) despite this option, because after it
|
||||
# gets compiled we will still need to look it up from
|
||||
# `sourceMaps['<anonymous>']` in order to find and return it. That’s why we
|
||||
# start searching from the end in the previous block, because most of the
|
||||
# time the source map we want is the last one.
|
||||
if sources[filename]?
|
||||
answer = compile sources[filename][sources[filename].length - 1],
|
||||
filename: filename
|
||||
sourceMap: yes
|
||||
literate: helpers.isLiterate filename
|
||||
answer.sourceMap
|
||||
else
|
||||
null
|
||||
|
||||
# Based on [michaelficarra/CoffeeScriptRedux](http://goo.gl/ZTx1p)
|
||||
# NodeJS / V8 have no support for transforming positions in stack traces using
|
||||
# sourceMap, so we must monkey-patch Error to display CoffeeScript source
|
||||
# positions.
|
||||
Error.prepareStackTrace = (err, stack) ->
|
||||
getSourceMapping = (filename, line, column) ->
|
||||
sourceMap = getSourceMap filename, line, column
|
||||
answer = sourceMap.sourceLocation [line - 1, column - 1] if sourceMap?
|
||||
if answer? then [answer[0] + 1, answer[1] + 1] else null
|
||||
|
||||
frames = for frame in stack
|
||||
break if frame.getFunction() is exports.run
|
||||
" at #{formatSourcePosition frame, getSourceMapping}"
|
||||
|
||||
"#{err.toString()}\n#{frames.join '\n'}\n"
|
||||
|
||||
checkShebangLine = (file, input) ->
|
||||
firstLine = input.split(/$/m)[0]
|
||||
rest = firstLine?.match(/^#!\s*([^\s]+\s*)(.*)/)
|
||||
args = rest?[2]?.split(/\s/).filter (s) -> s isnt ''
|
||||
if args?.length > 1
|
||||
console.error '''
|
||||
The script to be run begins with a shebang line with more than one
|
||||
argument. This script will fail on platforms such as Linux which only
|
||||
allow a single argument.
|
||||
'''
|
||||
console.error "The shebang line was: '#{firstLine}' in file '#{file}'"
|
||||
console.error "The arguments were: #{JSON.stringify args}"
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
The `string.fs` file has been added from https://github.com/dotnet/fsharp under the following license:
|
||||
|
||||
```text
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
All rights reserved.
|
||||
|
||||
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.
|
||||
|
||||
```
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
|
||||
|
||||
namespace Microsoft.FSharp.Core
|
||||
|
||||
open System
|
||||
open System.Text
|
||||
open Microsoft.FSharp.Core.LanguagePrimitives.IntrinsicOperators
|
||||
open Microsoft.FSharp.Core.Operators
|
||||
open Microsoft.FSharp.Core.Operators.Checked
|
||||
open Microsoft.FSharp.Collections
|
||||
open Microsoft.FSharp.Primitives.Basics
|
||||
|
||||
[<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
|
||||
[<RequireQualifiedAccess>]
|
||||
module String =
|
||||
[<Literal>]
|
||||
/// LOH threshold is calculated from Internal.Utilities.Library.LOH_SIZE_THRESHOLD_BYTES,
|
||||
/// and is equal to 80_000 / sizeof<char>
|
||||
let LOH_CHAR_THRESHOLD = 40_000
|
||||
|
||||
[<CompiledName("Length")>]
|
||||
let length (str:string) = if isNull str then 0 else str.Length
|
||||
|
||||
[<CompiledName("Concat")>]
|
||||
let concat sep (strings : seq<string>) =
|
||||
|
||||
let concatArray sep (strings: string []) =
|
||||
match length sep with
|
||||
| 0 -> String.Concat strings
|
||||
// following line should be used when this overload becomes part of .NET Standard (it's only in .NET Core)
|
||||
//| 1 -> String.Join(sep.[0], strings, 0, strings.Length)
|
||||
| _ -> String.Join(sep, strings, 0, strings.Length)
|
||||
|
||||
match strings with
|
||||
| :? array<string> as arr ->
|
||||
concatArray sep arr
|
||||
|
||||
| :? list<string> as lst ->
|
||||
lst
|
||||
|> List.toArray
|
||||
|> concatArray sep
|
||||
|
||||
| _ ->
|
||||
String.Join(sep, strings)
|
||||
|
||||
[<CompiledName("Iterate")>]
|
||||
let iter (action : (char -> unit)) (str:string) =
|
||||
if not (String.IsNullOrEmpty str) then
|
||||
for i = 0 to str.Length - 1 do
|
||||
action str.[i]
|
||||
|
||||
[<CompiledName("IterateIndexed")>]
|
||||
let iteri action (str:string) =
|
||||
if not (String.IsNullOrEmpty str) then
|
||||
let f = OptimizedClosures.FSharpFunc<_,_,_>.Adapt(action)
|
||||
for i = 0 to str.Length - 1 do
|
||||
f.Invoke(i, str.[i])
|
||||
|
||||
[<CompiledName("Map")>]
|
||||
let map (mapping: char -> char) (str:string) =
|
||||
if String.IsNullOrEmpty str then
|
||||
String.Empty
|
||||
else
|
||||
let result = str.ToCharArray()
|
||||
let mutable i = 0
|
||||
for c in result do
|
||||
result.[i] <- mapping c
|
||||
i <- i + 1
|
||||
|
||||
new String(result)
|
||||
|
||||
[<CompiledName("MapIndexed")>]
|
||||
let mapi (mapping: int -> char -> char) (str:string) =
|
||||
let len = length str
|
||||
if len = 0 then
|
||||
String.Empty
|
||||
else
|
||||
let result = str.ToCharArray()
|
||||
let f = OptimizedClosures.FSharpFunc<_,_,_>.Adapt(mapping)
|
||||
|
||||
let mutable i = 0
|
||||
while i < len do
|
||||
result.[i] <- f.Invoke(i, result.[i])
|
||||
i <- i + 1
|
||||
|
||||
new String(result)
|
||||
|
||||
[<CompiledName("Filter")>]
|
||||
let filter (predicate: char -> bool) (str:string) =
|
||||
let len = length str
|
||||
|
||||
if len = 0 then
|
||||
String.Empty
|
||||
|
||||
elif len > LOH_CHAR_THRESHOLD then
|
||||
// By using SB here, which is twice slower than the optimized path, we prevent LOH allocations
|
||||
// and 'stop the world' collections if the filtering results in smaller strings.
|
||||
// We also don't pre-allocate SB here, to allow for less mem pressure when filter result is small.
|
||||
let res = StringBuilder()
|
||||
str |> iter (fun c -> if predicate c then res.Append c |> ignore)
|
||||
res.ToString()
|
||||
|
||||
else
|
||||
// Must do it this way, since array.fs is not yet in scope, but this is safe
|
||||
let target = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked len
|
||||
let mutable i = 0
|
||||
for c in str do
|
||||
if predicate c then
|
||||
target.[i] <- c
|
||||
i <- i + 1
|
||||
|
||||
String(target, 0, i)
|
||||
|
||||
[<CompiledName("Collect")>]
|
||||
let collect (mapping: char -> string) (str:string) =
|
||||
if String.IsNullOrEmpty str then
|
||||
String.Empty
|
||||
else
|
||||
let res = StringBuilder str.Length
|
||||
str |> iter (fun c -> res.Append(mapping c) |> ignore)
|
||||
res.ToString()
|
||||
|
||||
[<CompiledName("Initialize")>]
|
||||
let init (count:int) (initializer: int-> string) =
|
||||
if count < 0 then invalidArgInputMustBeNonNegative "count" count
|
||||
let res = StringBuilder count
|
||||
for i = 0 to count - 1 do
|
||||
res.Append(initializer i) |> ignore
|
||||
res.ToString()
|
||||
|
||||
[<CompiledName("Replicate")>]
|
||||
let replicate (count:int) (str:string) =
|
||||
if count < 0 then invalidArgInputMustBeNonNegative "count" count
|
||||
|
||||
let len = length str
|
||||
if len = 0 || count = 0 then
|
||||
String.Empty
|
||||
|
||||
elif len = 1 then
|
||||
new String(str.[0], count)
|
||||
|
||||
elif count <= 4 then
|
||||
match count with
|
||||
| 1 -> str
|
||||
| 2 -> String.Concat(str, str)
|
||||
| 3 -> String.Concat(str, str, str)
|
||||
| _ -> String.Concat(str, str, str, str)
|
||||
|
||||
else
|
||||
// Using the primitive, because array.fs is not yet in scope. It's safe: both len and count are positive.
|
||||
let target = Microsoft.FSharp.Primitives.Basics.Array.zeroCreateUnchecked (len * count)
|
||||
let source = str.ToCharArray()
|
||||
|
||||
// O(log(n)) performance loop:
|
||||
// Copy first string, then keep copying what we already copied
|
||||
// (i.e., doubling it) until we reach or pass the halfway point
|
||||
Array.Copy(source, 0, target, 0, len)
|
||||
let mutable i = len
|
||||
while i * 2 < target.Length do
|
||||
Array.Copy(target, 0, target, i, i)
|
||||
i <- i * 2
|
||||
|
||||
// finally, copy the remain half, or less-then half
|
||||
Array.Copy(target, 0, target, i, target.Length - i)
|
||||
new String(target)
|
||||
|
||||
|
||||
[<CompiledName("ForAll")>]
|
||||
let forall predicate (str:string) =
|
||||
if String.IsNullOrEmpty str then
|
||||
true
|
||||
else
|
||||
let rec check i = (i >= str.Length) || (predicate str.[i] && check (i+1))
|
||||
check 0
|
||||
|
||||
[<CompiledName("Exists")>]
|
||||
let exists predicate (str:string) =
|
||||
if String.IsNullOrEmpty str then
|
||||
false
|
||||
else
|
||||
let rec check i = (i < str.Length) && (predicate str.[i] || check (i+1))
|
||||
check 0
|
||||
@@ -0,0 +1,25 @@
|
||||
The `quicksort_real_F77.F` file has been added from https://github.com/jasonanema/Quicksort_Fortran77 under the following license:
|
||||
|
||||
```text
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Jason Anema
|
||||
|
||||
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.
|
||||
```
|
||||
@@ -0,0 +1,323 @@
|
||||
C Fortran 77 implementation of a quicksort algorithm for arrays with
|
||||
C real entries.
|
||||
C ----------
|
||||
C June 2019
|
||||
C Jason Allen Anema, Ph.D.
|
||||
C Division of Statistical Genomics
|
||||
C Department of Genetics
|
||||
C Washington University School of Medicine in St. Louis
|
||||
C
|
||||
C This work is partially supported NIH grant AG023746
|
||||
C ----------
|
||||
C Insertion sort is used for short arrays, as quicksort is slower on
|
||||
C these.
|
||||
C
|
||||
C Hoare partition scheme is used (sweeping left and right), as it does
|
||||
C three times fewer swaps on average that the Lamuto partition scheme.
|
||||
C In conjunction with this, tripartite partition is performed
|
||||
C concurrently (solving the "Dutch National Flag problem"). This avoids
|
||||
C horrible runtimes on highly repetitive arrays. For example, without
|
||||
C this, an array of random zeros and ones would have a runtime of
|
||||
C O(N^2), but now has a runtime of O(N). The runtime for this algorthm
|
||||
C on arrays with k highly repetitive entries is now O(kN).
|
||||
C
|
||||
C For medium length (sub)arrays, pivots are choosen using
|
||||
C Median-of-Three, and those three items are sorted. For longer (sub)arrays
|
||||
C the pseudomedian of nine (Median of medians). This avoids O(N^2) runtime on
|
||||
C nonrandom inputs such as increasing and decreasing sequences.
|
||||
C
|
||||
C See Louis Bentley, Jon & McIlroy, Douglas. (1993). Engineering a Sort Function.
|
||||
C Softw., Pract. Exper.. 23. 1249-1265. 10.1002/spe.4380231105 for details.
|
||||
C
|
||||
C The ordering on elements of the array are defined by a comparison
|
||||
C function,compar, that is a user-supplied INTEGER*2 function of the form
|
||||
C compar(a,b) which returns:
|
||||
C -1 if a precedes b
|
||||
C +1 if b precedes a
|
||||
C 0 is a and b are considered equivalent
|
||||
C and thus defines a total ordering.
|
||||
C
|
||||
C If one would like to use the standard order on integers, the
|
||||
C compar function could be written in a file "compint.F" as:
|
||||
C ----------------------------------------------------------------
|
||||
C INTEGER*2 FUNCTION compint(a,b)
|
||||
C INTEGER a, b
|
||||
C if(a.lt.b)then
|
||||
C compint = -1
|
||||
C elseif(a.gt.b)then
|
||||
C compint = +1
|
||||
C else
|
||||
C compint = 0
|
||||
C endif
|
||||
C END
|
||||
C ----------------------------------------------------------------
|
||||
C Then in your program, call quicksort with:
|
||||
C call quicksort_real_F77(array, n, compint)
|
||||
C
|
||||
C The maximal length of an array in this implementation is (2^31-1),
|
||||
C but can be changed to allow for length up to (2^63-1) by changing the
|
||||
C data types of the relevant variables and constants. If you wish to
|
||||
C sort longer arrays, of length N, you'll need to customize variable
|
||||
C and constant types and set mstack to be at least (2*log_2(N)+2).
|
||||
C
|
||||
C ----------------------------------------------------------------
|
||||
C Copyright 2019 Jason Allen Anema
|
||||
C
|
||||
C Permission is hereby granted, free of charge, to any person obtaining
|
||||
C a copy of this software and associated documentation files (the "Software"),
|
||||
C to deal in the Software without restriction, including without limitation the
|
||||
C rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
C sell copies of the Software, and to permit persons to whom the Software is
|
||||
C furnished to do so, subject to the following conditions:
|
||||
C
|
||||
C The above copyright notice and this permission notice shall be included
|
||||
C in all copies or substantial portions of the Software.
|
||||
C
|
||||
C THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
C OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
C FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
C THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
C LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
C FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
C IN THE SOFTWARE.
|
||||
C -------------------------------------------------------------------
|
||||
C
|
||||
SUBROUTINE quicksort_real_F77(array,n,compar)
|
||||
INTEGER n, maxins, maxmid, mstack
|
||||
REAL array(n)
|
||||
PARAMETER (maxins = 7, maxmid = 40, mstack = 128)
|
||||
C maxins: maximal size of (sub)arrays to be sorted with
|
||||
C insertion sort.
|
||||
C maxmid: maximal size of (sub)arrays that will be quicksorted with
|
||||
C Median-of-Three pivots.
|
||||
C mstack: maximal size of required auxiliary storage (a stack), plus 2
|
||||
C extra spots, which tracks the starts and ends of yet unsorted
|
||||
C subarrays. mstack = 130 is large enough to handle arrays up to
|
||||
C length 2^63-1. This maximal size follows from
|
||||
C processing smaller arrays first and pigeonhole principal.
|
||||
C
|
||||
INTEGER a, d, i, j, k, s, lo, mid, hi, tstack, bstack(mstack)
|
||||
C a, d, i, j, k, s: indices
|
||||
C lo, mid, and hi: their natural location in a (sub)array
|
||||
C tstack: equal to twice the number of additional subarrays still
|
||||
C needing to be sorted
|
||||
C bstack: stack of the endpoints of unsorted subarrays
|
||||
INTEGER pm1, pm2, pm3, pm4, pm5, pm6, pm7, pm8, pm9
|
||||
C for pseudomedian of nine positions in (sub)arrays
|
||||
REAL piv, temp
|
||||
C piv is to store the pivot's value
|
||||
C
|
||||
EXTERNAL compar
|
||||
INTEGER*2 compar
|
||||
C compar is a user-supplied INTEGER*2 function of the form
|
||||
C compar(a,b) which returns:
|
||||
C -1 if a precedes b
|
||||
C +1 if b precedes a
|
||||
C 0 is a and b are considered equivalent
|
||||
C and thus defines a total ordering.
|
||||
tstack = 0
|
||||
lo = 1
|
||||
hi = n
|
||||
C
|
||||
C Insertion sort subarrays of size maxins or less
|
||||
1 if(hi-lo+1.le.maxins)then
|
||||
do 10, i = lo + 1, hi, 1
|
||||
temp = array(i)
|
||||
do 11 j = i - 1, lo, -1
|
||||
if(compar(array(j), temp).le.0)goto 2
|
||||
array(j+1)=array(j)
|
||||
11 continue
|
||||
j = lo - 1
|
||||
2 array(j+1) = temp
|
||||
10 continue
|
||||
if(tstack.eq.0)return
|
||||
C Pop the bstack, and start new partitioning
|
||||
hi = bstack(tstack)
|
||||
lo = bstack(tstack-1)
|
||||
tstack = tstack - 2
|
||||
else
|
||||
C Use Median-of-Three as choice of pivot (median of lo, middle, hi)
|
||||
C and reorder those elements appropriately when subarrays are medium
|
||||
C length (between maxins and maxmid)
|
||||
mid = lo + (hi-lo)/2
|
||||
if(hi-lo.le.maxmid)then
|
||||
if(compar(array(mid), array(lo)).eq.-1)then
|
||||
temp = array(lo)
|
||||
array(lo) = array(mid)
|
||||
array(mid) = temp
|
||||
endif
|
||||
if(compar(array(hi), array(lo)).eq.-1)then
|
||||
temp = array(hi)
|
||||
array(hi) = array(lo)
|
||||
array(lo) = temp
|
||||
endif
|
||||
if(compar(array(hi), array(mid)).eq.-1)then
|
||||
temp = array(hi)
|
||||
array(hi) = array(mid)
|
||||
array(mid) = temp
|
||||
endif
|
||||
C Use pseudomedian of nine (Median of medians) as choice of pivot when
|
||||
C subarrays are longer than maxmid. Note that doing it this way requires only 12
|
||||
C comparisons for finding the pivot.
|
||||
elseif(hi-lo+1.gt.maxmid)then
|
||||
pm1 = lo
|
||||
pm5 = lo + (hi-lo)/2
|
||||
pm9 = hi
|
||||
pm3 = lo + (pm5-lo)/2
|
||||
pm7 = pm5 + (hi-pm5)/2
|
||||
pm2 = lo + (pm3-lo)/2
|
||||
pm4 = pm3 + (pm5-pm3)/2
|
||||
pm6 = pm5 + (pm7-pm5)/2
|
||||
pm8 = pm7 + (pm9-pm7)/2
|
||||
C Median and sorting for pm1, pm2, pm3
|
||||
if(compar(array(pm2), array(pm1)).eq.-1)then
|
||||
temp = array(pm1)
|
||||
array(pm1) = array(pm2)
|
||||
array(pm2) = temp
|
||||
endif
|
||||
if(compar(array(pm3), array(pm1)).eq.-1)then
|
||||
temp = array(pm3)
|
||||
array(pm3) = array(pm1)
|
||||
array(pm1) = temp
|
||||
endif
|
||||
if(compar(array(pm3), array(pm2)).eq.-1)then
|
||||
temp = array(pm3)
|
||||
array(pm3) = array(pm2)
|
||||
array(pm2) = temp
|
||||
endif
|
||||
C Median and sorting for pm4, pm5, pm6
|
||||
if(compar(array(pm5), array(pm4)).eq.-1)then
|
||||
temp = array(pm4)
|
||||
array(pm4) = array(pm5)
|
||||
array(pm5) = temp
|
||||
endif
|
||||
if(compar(array(pm6), array(pm4)).eq.-1)then
|
||||
temp = array(pm6)
|
||||
array(pm6) = array(pm4)
|
||||
array(pm4) = temp
|
||||
endif
|
||||
if(compar(array(pm6), array(pm5)).eq.-1)then
|
||||
temp = array(pm6)
|
||||
array(pm6) = array(pm5)
|
||||
array(pm5) = temp
|
||||
endif
|
||||
C Median and sorting for pm7, pm8, pm9
|
||||
if(compar(array(pm8), array(pm7)).eq.-1)then
|
||||
temp = array(pm7)
|
||||
array(pm7) = array(pm8)
|
||||
array(pm8) = temp
|
||||
endif
|
||||
if(compar(array(pm9), array(pm7)).eq.-1)then
|
||||
temp = array(pm9)
|
||||
array(pm9) = array(pm7)
|
||||
array(pm7) = temp
|
||||
endif
|
||||
if(compar(array(pm9), array(pm8)).eq.-1)then
|
||||
temp = array(pm9)
|
||||
array(pm9) = array(pm8)
|
||||
array(pm8) = temp
|
||||
endif
|
||||
C Median of the medians (which are now pm2, pm5, pm8)
|
||||
if(compar(array(pm5), array(pm2)).eq.-1)then
|
||||
temp = array(pm2)
|
||||
array(pm2) = array(pm5)
|
||||
array(pm5) = temp
|
||||
endif
|
||||
if(compar(array(pm8), array(pm2)).eq.-1)then
|
||||
temp = array(pm8)
|
||||
array(pm8) = array(pm2)
|
||||
array(pm2) = temp
|
||||
endif
|
||||
if(compar(array(pm8), array(pm5)).eq.-1)then
|
||||
temp = array(pm8)
|
||||
array(pm8) = array(pm5)
|
||||
array(pm5) = temp
|
||||
endif
|
||||
endif
|
||||
C Pivot assigned for medium and long length subarrays.
|
||||
C Note that pm5 = mid
|
||||
piv = array(mid)
|
||||
C Initialize pointers for partitioning
|
||||
i = lo-1
|
||||
j = hi+1
|
||||
C Initialize counts of repeat values of pivot.
|
||||
a = 0
|
||||
d = 0
|
||||
C Beginning of outer loop for placing pivot.
|
||||
3 continue
|
||||
C Scan up to find an element > piv.
|
||||
i = i + 1
|
||||
C Check if pointers crossed.
|
||||
if(j.lt.i)goto 5
|
||||
C Check if i pointer hit hi boundary.
|
||||
if(i.eq.hi)goto 4
|
||||
C
|
||||
if(compar(array(i), piv).eq.-1)goto 3
|
||||
C Check for copies of pivot from scanning right.
|
||||
if(compar(array(i), piv).eq.0)then
|
||||
array(i) = array(lo+a)
|
||||
array(lo+a) = piv
|
||||
a = a + 1
|
||||
goto 3
|
||||
endif
|
||||
C Beginning of innerloop for placing pivot.
|
||||
4 continue
|
||||
C Scan down to find an element < piv.
|
||||
j = j - 1
|
||||
C Check if pointers crossed.
|
||||
if(j.lt.i)goto 5
|
||||
if(compar(array(j), piv).eq.1)goto 4
|
||||
C Check for copies of pivot from scanning left.
|
||||
if(compar(array(j), piv).eq.0)then
|
||||
array(j) = array(hi-d)
|
||||
array(hi-d) = piv
|
||||
d = d + 1
|
||||
goto 4
|
||||
endif
|
||||
C Check if pointers crossed.
|
||||
if(j.lt.i)goto 5
|
||||
C Exchange elements
|
||||
temp = array(i)
|
||||
array(i) = array(j)
|
||||
array(j) = temp
|
||||
C End of outermost loop for placing pivot.
|
||||
goto 3
|
||||
C Insert all copies of pivot in appropriate place
|
||||
5 s = MIN(a, j-lo-a+1)
|
||||
DO 6 k = 1, s
|
||||
array(lo-1+k) = array(i-k)
|
||||
array(i-k) = piv
|
||||
6 CONTINUE
|
||||
s = MIN(d, hi-j-d)
|
||||
DO 7 k = 1, s
|
||||
array(hi+1-k) = array(j+k)
|
||||
array(j+k) = piv
|
||||
7 CONTINUE
|
||||
C Increase effective stack size
|
||||
tstack = tstack + 2
|
||||
C Push pointers to larger subarray on stack for later processing,
|
||||
C process smaller subarray immediately.
|
||||
if(tstack.gt.mstack) THEN
|
||||
WRITE(*,*)'Stack size is too small in quicksort fortran code quicksort_real_F77.F'
|
||||
WRITE(*,*)'Are you sure you want to sort an array this long?'
|
||||
WRITE(*,*)'Your array has more than 2^63-1 entries?'
|
||||
WRITE(*,*)'If so, set mstack parameter to be at least:'
|
||||
WRITE(*,*)'2*ceiling(log_2(N))+2, for N = length of array,'
|
||||
WRITE(*,*)'and recompile this subroutine.'
|
||||
RETURN
|
||||
endif
|
||||
if(hi-j-d-1.ge.j-a-lo)then
|
||||
bstack(tstack) = hi
|
||||
bstack(tstack-1) = MIN(j+d+1, hi)
|
||||
hi=MAX(j-a,lo)
|
||||
else
|
||||
bstack(tstack)=MAX(j-a,lo)
|
||||
bstack(tstack-1)=lo
|
||||
lo=MIN(j+d+1,hi)
|
||||
endif
|
||||
C
|
||||
C end of outermost if statement
|
||||
endif
|
||||
goto 1
|
||||
C END of subroutine quicksort
|
||||
END
|
||||
@@ -0,0 +1,25 @@
|
||||
The `test_savetxt.f90` file has been added from https://github.com/fortran-lang/stdlib under the following license:
|
||||
|
||||
```text
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Fortran stdlib developers
|
||||
|
||||
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.
|
||||
```
|
||||
@@ -0,0 +1,119 @@
|
||||
program test_savetxt
|
||||
use stdlib_kinds, only: int32, sp, dp
|
||||
use stdlib_io, only: loadtxt, savetxt
|
||||
use stdlib_error, only: check
|
||||
implicit none
|
||||
|
||||
character(:), allocatable :: outpath
|
||||
|
||||
outpath = get_outpath() // "/tmp.dat"
|
||||
|
||||
call test_iint32(outpath)
|
||||
call test_rsp(outpath)
|
||||
call test_rdp(outpath)
|
||||
call test_csp(outpath)
|
||||
call test_cdp(outpath)
|
||||
|
||||
contains
|
||||
|
||||
function get_outpath() result(outpath)
|
||||
integer :: ierr
|
||||
character(256) :: argv
|
||||
character(:), allocatable :: outpath
|
||||
|
||||
call get_command_argument(1, argv, status=ierr)
|
||||
if (ierr==0) then
|
||||
outpath = trim(argv)
|
||||
else
|
||||
outpath = '.'
|
||||
endif
|
||||
end function get_outpath
|
||||
|
||||
subroutine test_iint32(outpath)
|
||||
character(*), intent(in) :: outpath
|
||||
integer(int32) :: d(3, 2), e(2, 3)
|
||||
integer(int32), allocatable :: d2(:, :)
|
||||
d = reshape([1, 2, 3, 4, 5, 6], [3, 2])
|
||||
call savetxt(outpath, d)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [3, 2]))
|
||||
call check(all(abs(d-d2) == 0))
|
||||
|
||||
e = reshape([1, 2, 3, 4, 5, 6], [2, 3])
|
||||
call savetxt(outpath, e)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [2, 3]))
|
||||
call check(all(abs(e-d2) == 0))
|
||||
end subroutine
|
||||
|
||||
|
||||
subroutine test_rsp(outpath)
|
||||
character(*), intent(in) :: outpath
|
||||
real(sp) :: d(3, 2), e(2, 3)
|
||||
real(sp), allocatable :: d2(:, :)
|
||||
d = reshape([1, 2, 3, 4, 5, 6], [3, 2])
|
||||
call savetxt(outpath, d)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [3, 2]))
|
||||
call check(all(abs(d-d2) < epsilon(1._sp)))
|
||||
|
||||
e = reshape([1, 2, 3, 4, 5, 6], [2, 3])
|
||||
call savetxt(outpath, e)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [2, 3]))
|
||||
call check(all(abs(e-d2) < epsilon(1._sp)))
|
||||
end subroutine test_rsp
|
||||
|
||||
|
||||
subroutine test_rdp(outpath)
|
||||
character(*), intent(in) :: outpath
|
||||
real(dp) :: d(3, 2), e(2, 3)
|
||||
real(dp), allocatable :: d2(:, :)
|
||||
d = reshape([1, 2, 3, 4, 5, 6], [3, 2])
|
||||
call savetxt(outpath, d)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [3, 2]))
|
||||
call check(all(abs(d-d2) < epsilon(1._dp)))
|
||||
|
||||
e = reshape([1, 2, 3, 4, 5, 6], [2, 3])
|
||||
call savetxt(outpath, e)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [2, 3]))
|
||||
call check(all(abs(e-d2) < epsilon(1._dp)))
|
||||
end subroutine test_rdp
|
||||
|
||||
subroutine test_csp(outpath)
|
||||
character(*), intent(in) :: outpath
|
||||
complex(sp) :: d(3, 2), e(2, 3)
|
||||
complex(sp), allocatable :: d2(:, :)
|
||||
d = cmplx(1, 1,kind=sp)* reshape([1, 2, 3, 4, 5, 6], [3, 2])
|
||||
call savetxt(outpath, d)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [3, 2]))
|
||||
call check(all(abs(d-d2) < epsilon(1._sp)))
|
||||
|
||||
e = cmplx(1, 1,kind=sp)* reshape([1, 2, 3, 4, 5, 6], [2, 3])
|
||||
call savetxt(outpath, e)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [2, 3]))
|
||||
call check(all(abs(e-d2) < epsilon(1._sp)))
|
||||
end subroutine test_csp
|
||||
|
||||
subroutine test_cdp(outpath)
|
||||
character(*), intent(in) :: outpath
|
||||
complex(dp) :: d(3, 2), e(2, 3)
|
||||
complex(dp), allocatable :: d2(:, :)
|
||||
d = cmplx(1._dp, 1._dp,kind=dp)* reshape([1, 2, 3, 4, 5, 6], [3, 2])
|
||||
call savetxt(outpath, d)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [3, 2]))
|
||||
call check(all(abs(d-d2) < epsilon(1._dp)))
|
||||
|
||||
e = cmplx(1, 1,kind=dp)* reshape([1, 2, 3, 4, 5, 6], [2, 3])
|
||||
call savetxt(outpath, e)
|
||||
call loadtxt(outpath, d2)
|
||||
call check(all(shape(d2) == [2, 3]))
|
||||
call check(all(abs(e-d2) < epsilon(1._dp)))
|
||||
end subroutine test_cdp
|
||||
|
||||
end program test_savetxt
|
||||
@@ -0,0 +1,5 @@
|
||||
&TEST
|
||||
FOO=0,
|
||||
BAR=1.0,
|
||||
BAZ='Hello, World!'
|
||||
/
|
||||
@@ -0,0 +1 @@
|
||||
// foo.bak (editor etc backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.dpkg-dist (Debian dpkg backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.dpkg-old (Debian dpkg backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.in (build system input) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.in.in (build system input, doubly replaced) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.old (editor etc backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.orig (editor, diff etc backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.orig~ (backup of an editor, diff etc backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.rpmnew (Red Hat rpm backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.rpmorig (Red Hat rpm backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo.rpmsave (Red Hat rpm backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo~ (editor backup) should highlight same as foo
|
||||
@@ -0,0 +1 @@
|
||||
// foo~ for unknown foo should not highlight
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,68 @@
|
||||
Apache Tomcat
|
||||
Copyright 1999-2021 The Apache Software Foundation
|
||||
|
||||
This product includes software developed at
|
||||
The Apache Software Foundation (https://www.apache.org/).
|
||||
|
||||
This software contains code derived from netty-native
|
||||
developed by the Netty project
|
||||
(https://netty.io, https://github.com/netty/netty-tcnative/)
|
||||
and from finagle-native developed at Twitter
|
||||
(https://github.com/twitter/finagle).
|
||||
|
||||
This software contains code derived from jgroups-kubernetes
|
||||
developed by the JGroups project (http://www.jgroups.org/).
|
||||
|
||||
The Windows Installer is built with the Nullsoft
|
||||
Scriptable Install System (NSIS), which is
|
||||
open source software. The original software and
|
||||
related information is available at
|
||||
http://nsis.sourceforge.net.
|
||||
|
||||
Java compilation software for JSP pages is provided by the Eclipse
|
||||
JDT Core Batch Compiler component, which is open source software.
|
||||
The original software and related information is available at
|
||||
https://www.eclipse.org/jdt/core/.
|
||||
|
||||
org.apache.tomcat.util.json.JSONParser.jj is a public domain javacc grammar
|
||||
for JSON written by Robert Fischer.
|
||||
https://github.com/RobertFischer/json-parser
|
||||
|
||||
For portions of the Tomcat JNI OpenSSL API and the OpenSSL JSSE integration
|
||||
The org.apache.tomcat.jni and the org.apache.tomcat.net.openssl packages
|
||||
are derivative work originating from the Netty project and the finagle-native
|
||||
project developed at Twitter
|
||||
* Copyright 2014 The Netty Project
|
||||
* Copyright 2014 Twitter
|
||||
|
||||
For portions of the Tomcat cloud support
|
||||
The org.apache.catalina.tribes.membership.cloud package contains derivative
|
||||
work originating from the jgroups project.
|
||||
https://github.com/jgroups-extras/jgroups-kubernetes
|
||||
Copyright 2002-2018 Red Hat Inc.
|
||||
|
||||
The original XML Schemas for Java EE Deployment Descriptors:
|
||||
- javaee_5.xsd
|
||||
- javaee_web_services_1_2.xsd
|
||||
- javaee_web_services_client_1_2.xsd
|
||||
- javaee_6.xsd
|
||||
- javaee_web_services_1_3.xsd
|
||||
- javaee_web_services_client_1_3.xsd
|
||||
- jsp_2_2.xsd
|
||||
- web-app_3_0.xsd
|
||||
- web-common_3_0.xsd
|
||||
- web-fragment_3_0.xsd
|
||||
- javaee_7.xsd
|
||||
- javaee_web_services_1_4.xsd
|
||||
- javaee_web_services_client_1_4.xsd
|
||||
- jsp_2_3.xsd
|
||||
- web-app_3_1.xsd
|
||||
- web-common_3_1.xsd
|
||||
- web-fragment_3_1.xsd
|
||||
- javaee_8.xsd
|
||||
- web-app_4_0.xsd
|
||||
- web-common_4_0.xsd
|
||||
- web-fragment_4_0.xsd
|
||||
|
||||
may be obtained from:
|
||||
http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html
|
||||
@@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<%--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
--%>
|
||||
<%@page session="false" contentType="text/html; charset=ISO-8859-1" %>
|
||||
<%@page import="java.util.Enumeration" %>
|
||||
<%@page import="jakarta.servlet.http.HttpSession" %>
|
||||
<%@page import="org.apache.catalina.Session" %>
|
||||
<%@page import="org.apache.catalina.manager.JspHelper" %>
|
||||
<%@page import="org.apache.catalina.util.ContextName" %>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<%--!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"--%>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<% String path = (String) request.getAttribute("path");
|
||||
String version = (String) request.getAttribute("version");
|
||||
ContextName cn = new ContextName(path, version);
|
||||
Session currentSession = (Session)request.getAttribute("currentSession");
|
||||
String currentSessionId = null;
|
||||
HttpSession currentHttpSession = null;
|
||||
if (currentSession != null) {
|
||||
currentHttpSession = currentSession.getSession();
|
||||
currentSessionId = JspHelper.escapeXml(currentSession.getId());
|
||||
} else {
|
||||
currentSessionId = "Session invalidated";
|
||||
}
|
||||
String submitUrl = JspHelper.escapeXml(response.encodeURL(
|
||||
((HttpServletRequest) pageContext.getRequest()).getRequestURI() +
|
||||
"?path=" + path + "&version=" + version));
|
||||
%>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
|
||||
<meta http-equiv="pragma" content="no-cache"/><!-- HTTP 1.0 -->
|
||||
<meta http-equiv="cache-control" content="no-cache,must-revalidate"/><!-- HTTP 1.1 -->
|
||||
<meta http-equiv="expires" content="0"/><!-- 0 is an invalid value and should be treated as 'now' -->
|
||||
<meta http-equiv="content-language" content="en"/>
|
||||
<meta name="author" content="Cedrik LIME"/>
|
||||
<meta name="copyright" content="copyright 2005-2021 the Apache Software Foundation"/>
|
||||
<meta name="robots" content="noindex,nofollow,noarchive"/>
|
||||
<title>Sessions Administration: details for <%= currentSessionId %></title>
|
||||
</head>
|
||||
<body>
|
||||
<% if (currentHttpSession == null) { %>
|
||||
<h1><%=currentSessionId%></h1>
|
||||
<% } else { %>
|
||||
<h1>Details for Session <%= currentSessionId %></h1>
|
||||
|
||||
<table style="text-align: left;" border="0">
|
||||
<tr>
|
||||
<th>Session Id</th>
|
||||
<td><%= currentSessionId %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Guessed Locale</th>
|
||||
<td><%= JspHelper.guessDisplayLocaleFromSession(currentSession) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Guessed User</th>
|
||||
<td><%= JspHelper.guessDisplayUserFromSession(currentSession) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Creation Time</th>
|
||||
<td><%= JspHelper.getDisplayCreationTimeForSession(currentSession) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Last Accessed Time</th>
|
||||
<td><%= JspHelper.getDisplayLastAccessedTimeForSession(currentSession) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Session Max Inactive Interval</th>
|
||||
<td><%= JspHelper.secondsToTimeString(currentSession.getMaxInactiveInterval()) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Used Time</th>
|
||||
<td><%= JspHelper.getDisplayUsedTimeForSession(currentSession) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Inactive Time</th>
|
||||
<td><%= JspHelper.getDisplayInactiveTimeForSession(currentSession) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>TTL</th>
|
||||
<td><%= JspHelper.getDisplayTTLForSession(currentSession) %></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<form method="post" action="<%= submitUrl %>">
|
||||
<div>
|
||||
<input type="hidden" name="sessionId" value="<%= currentSessionId %>" />
|
||||
<input type="hidden" name="action" value="sessionDetail" />
|
||||
<%
|
||||
if ("Primary".equals(request.getParameter("sessionType"))) {
|
||||
%>
|
||||
<input type="hidden" name="sessionType" value="Primary" />
|
||||
<%
|
||||
}
|
||||
%> <input type="submit" value="Refresh" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="error"><%= JspHelper.escapeXml(request.getAttribute("error")) %></div>
|
||||
<div class="message"><%= JspHelper.escapeXml(request.getAttribute("message")) %></div>
|
||||
|
||||
<table style="text-align: left;" border="1" cellpadding="2" cellspacing="2">
|
||||
<% int nAttributes = 0;
|
||||
Enumeration<String> attributeNamesEnumeration = currentHttpSession.getAttributeNames();
|
||||
while (attributeNamesEnumeration.hasMoreElements()) {
|
||||
attributeNamesEnumeration.nextElement();
|
||||
++nAttributes;
|
||||
}
|
||||
%>
|
||||
<caption style="font-variant: small-caps;"><%= JspHelper.formatNumber(nAttributes) %> attributes</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Remove Attribute</th>
|
||||
<th>Attribute name</th>
|
||||
<th>Attribute value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<%--tfoot>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: center;">
|
||||
TODO: set Max Inactive Interval on sessions
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot--%>
|
||||
<tbody>
|
||||
<% attributeNamesEnumeration = currentHttpSession.getAttributeNames();
|
||||
while (attributeNamesEnumeration.hasMoreElements()) {
|
||||
String attributeName = attributeNamesEnumeration.nextElement();
|
||||
%>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<form method="post" action="<%= submitUrl %>">
|
||||
<div>
|
||||
<input type="hidden" name="action" value="removeSessionAttribute" />
|
||||
<input type="hidden" name="sessionId" value="<%= currentSessionId %>" />
|
||||
<input type="hidden" name="attributeName" value="<%= JspHelper.escapeXml(attributeName) %>" />
|
||||
<%
|
||||
if ("Primary".equals(request.getParameter("sessionType"))) {
|
||||
%>
|
||||
<input type="submit" value="Remove" />
|
||||
<input type="hidden" name="sessionType" value="Primary" />
|
||||
<%
|
||||
} else {
|
||||
out.print("Primary sessions only");
|
||||
}
|
||||
%>
|
||||
</div>
|
||||
</form>
|
||||
</td>
|
||||
<td><%= JspHelper.escapeXml(attributeName) %></td>
|
||||
<td><% Object attributeValue = currentHttpSession.getAttribute(attributeName); %><span title="<%= attributeValue == null ? "" : attributeValue.getClass().toString() %>"><%= JspHelper.escapeXml(attributeValue) %></span></td>
|
||||
</tr>
|
||||
<% } // end while %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% } // endif%>
|
||||
|
||||
<form method="post" action="<%=submitUrl%>">
|
||||
<p style="text-align: center;">
|
||||
<input type="submit" value="Return to session list" />
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<%--div style="display: none;">
|
||||
<p>
|
||||
<a href="http://validator.w3.org/check?uri=referer"><img
|
||||
src="http://www.w3.org/Icons/valid-html401"
|
||||
alt="Valid HTML 4.01!" height="31" width="88"></a>
|
||||
<a href="http://validator.w3.org/check?uri=referer"><img
|
||||
src="http://www.w3.org/Icons/valid-xhtml10"
|
||||
alt="Valid XHTML 1.0!" height="31" width="88" /></a>
|
||||
<a href="http://validator.w3.org/check?uri=referer"><img
|
||||
src="http://www.w3.org/Icons/valid-xhtml11"
|
||||
alt="Valid XHTML 1.1!" height="31" width="88" /></a>
|
||||
</p>
|
||||
</div--%>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,47 @@
|
||||
\documentclass{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\section*{Introduction}
|
||||
|
||||
Text outside code environments should follow TeX/LaTeX highlighting.
|
||||
|
||||
The code environment delimiters themselves should be highlighted.
|
||||
|
||||
Text inside code environments should follow regular Haskell highlighting.
|
||||
|
||||
\begin{code}
|
||||
import Data.List
|
||||
import System.Environment
|
||||
import Text.Printf
|
||||
|
||||
twoSumN :: Int -> [Int] -> [Int]
|
||||
twoSumN _ [] = []
|
||||
twoSumN n (x : xs) | (n - x) `elem` xs = [x, n - x]
|
||||
| otherwise = twoSumN n xs
|
||||
|
||||
threeSumN :: Int -> [Int] -> [Int]
|
||||
threeSumN _ [] = []
|
||||
threeSumN n (x : xs) | null partial = threeSumN n xs
|
||||
| otherwise = x : partial
|
||||
where partial = twoSumN (n - x) xs
|
||||
\end{code}
|
||||
|
||||
Text in-between code environments.
|
||||
% LaTeX comment.
|
||||
|
||||
\begin{code}
|
||||
output :: String -> IO ()
|
||||
output path = do
|
||||
input <- sort . map read . filter (not . null) . lines <$> readFile path
|
||||
printf "File: %s\n" path
|
||||
printf " Part 1: %d\n" . product . twoSumN 2020 $ input
|
||||
printf " Part 2: %d\n" . product . threeSumN 2020 $ input
|
||||
|
||||
-- Haskell comment inside code environment.
|
||||
|
||||
main :: IO ()
|
||||
main = getArgs >>= mapM_ output
|
||||
\end{code}
|
||||
|
||||
\end{document}
|
||||
@@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="Paraesthesia.Tools.NAntTasks" default="all" verbose="false">
|
||||
<!-- === ENVIRONMENT SETUP === -->
|
||||
<property name="nant.settings.currentframework" value="net-2.0"/>
|
||||
<tstamp />
|
||||
<sysinfo />
|
||||
<property name="build.config" value="Release" />
|
||||
<property name="build.version" value="2.0.0.0" />
|
||||
<property name="build.name" value="Paraesthesia.Tools.NAntTasks" />
|
||||
<property name="build.dir" value="${project::get-base-directory()}\build" />
|
||||
<property name="build.bin.dir" value="${build.dir}\bin" />
|
||||
<property name="build.doc.dir" value="${build.dir}\doc" />
|
||||
<property name="build.install.dir" value="${build.dir}\install" />
|
||||
<property name="build.log.dir" value="${build.dir}\log" />
|
||||
|
||||
<!-- === STANDARD TARGETS === -->
|
||||
<target name="all" depends="build-tasks test" description="Builds all custom NAnt task projects."/>
|
||||
|
||||
<target name="clean" description="Remove all compiled output folders.">
|
||||
<echo message="Removing build output folder..."/>
|
||||
<delete dir="${build.dir}" failonerror="false" verbose="false"/>
|
||||
<echo message="Removing compilation artifact folders..."/>
|
||||
<delete failonerror="false" verbose="false">
|
||||
<fileset>
|
||||
<exclude name="lib" />
|
||||
<exclude name="lib\**" />
|
||||
<include name="**\obj\**" />
|
||||
<include name="**\bin\**" />
|
||||
</fileset>
|
||||
</delete>
|
||||
<echo message="Clean complete."/>
|
||||
</target>
|
||||
|
||||
<target name="test" description="Run unit tests on this project." depends="build-tests">
|
||||
<!-- TODO: Run the unit tests -->
|
||||
</target>
|
||||
|
||||
<target name="doc" description="Generates NDoc documentation." depends="build-tasks">
|
||||
<ndoc>
|
||||
<assemblies basedir="${build.bin.dir}">
|
||||
<include name="Paraesthesia.Tools.*.dll"/>
|
||||
</assemblies>
|
||||
<summaries>
|
||||
<include name="NamespaceSummary.xml"/>
|
||||
</summaries>
|
||||
<documenters>
|
||||
<documenter name="MSDN">
|
||||
<property name="AutoDocumentConstructors" value="True" />
|
||||
<property name="AutoPropertyBackerSummaries" value="True" />
|
||||
<property name="CollectionNamespace" value="${build.name} v${build.version}" />
|
||||
<property name="CopyrightHref" value="http://www.paraesthesia.com" />
|
||||
<property name="CopyrightText" value="Copyright 2007 Travis Illig" />
|
||||
<property name="DefaultTOC" value="Empty" />
|
||||
<property name="DeleteCHM" value="False" />
|
||||
<property name="DocumentEmptyNamespaces" value="False" />
|
||||
<property name="DocumentInternals" value="False" />
|
||||
<property name="DocumentPrivates" value="False" />
|
||||
<property name="DocumentProtected" value="True" />
|
||||
<property name="GenerateCollectionFiles" value="True" />
|
||||
<property name="HtmlHelpCompilerFilename" value="hhc.exe" />
|
||||
<property name="HtmlHelpName" value="${build.name} v${build.version}" />
|
||||
<property name="IncludeAssemblyVersion" value="True" />
|
||||
<property name="IncludeFavorites" value="True" />
|
||||
<property name="IncludeHeirarchy" value="True" />
|
||||
<property name="LinkToSdkDocVersion" value="SDK_v1_1" />
|
||||
<property name="OmitObjectTags" value="False" />
|
||||
<property name="OutputDirectory" value="${build.doc.dir}" />
|
||||
<property name="PlugInNamespace" value="ms.vscc" />
|
||||
<property name="RootPageContainsNamespaces" value="True" />
|
||||
<property name="ShowMissingParams" value="True" />
|
||||
<property name="ShowMissingRemarks" value="False" />
|
||||
<property name="ShowMissingReturns" value="True" />
|
||||
<property name="ShowMissingSummaries" value="True" />
|
||||
<property name="ShowMissingValues" value="True" />
|
||||
<property name="ShowVisualBasic" value="False" />
|
||||
<property name="SortTOCByNamespace" value="True" />
|
||||
<property name="SplitTOCs" value="False" />
|
||||
<property name="Title" value="${build.name} v${build.version}" />
|
||||
</documenter>
|
||||
</documenters>
|
||||
</ndoc>
|
||||
<delete>
|
||||
<fileset basedir="${build.doc.dir}">
|
||||
<include name="**/**" />
|
||||
<exclude name="*.chm" />
|
||||
</fileset>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
<target name="install" description="Creates distribution packages." depends="all">
|
||||
<mkdir dir="${build.install.dir}" />
|
||||
<zip verbose="true"
|
||||
zipfile="${build.install.dir}/${build.name}_${build.version}.zip"
|
||||
ziplevel="9">
|
||||
<fileset basedir="${build.dir}">
|
||||
<include name="**" />
|
||||
<exclude name="${build.install.dir}/**" />
|
||||
<exclude name="${build.log.dir}/**" />
|
||||
</fileset>
|
||||
<fileset basedir=".">
|
||||
<include name="readme.txt" />
|
||||
</fileset>
|
||||
</zip>
|
||||
<zip verbose="true"
|
||||
zipfile="${build.install.dir}/${build.name}_${build.version}_src.zip"
|
||||
ziplevel="9">
|
||||
<fileset basedir=".">
|
||||
<include name="**" />
|
||||
<exclude name="**/*.suo" />
|
||||
<exclude name="**/*.user" />
|
||||
<exclude name="**/*.cache" />
|
||||
<exclude name="**/bin/**" />
|
||||
<exclude name="**/build/**" />
|
||||
<exclude name="**/lib/*.dll" />
|
||||
<exclude name="**/obj/**" />
|
||||
</fileset>
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<target name="production" description="Executes the production build." depends="clean set-version all test doc cleanup-build-output install">
|
||||
<echo message="Completed production build." />
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<!-- === PREREQUISITE TASKS === -->
|
||||
<target name="build-tasks" description="Builds the custom NAnt task solution.">
|
||||
<!-- solution configuration="${build.config}" outputdir="${build.bin.dir}" solutionfile="Paraesthesia.Tools.NAntTasks.sln" / -->
|
||||
<exec program="MSBuild.exe">
|
||||
<arg value="Paraesthesia.Tools.NAntTasks.sln" />
|
||||
<arg line="/p:Configuration=${build.config}" />
|
||||
<arg line="/p:OutDir="${build.bin.dir}\\"" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="build-tests" description="Builds the unit tests for the project.">
|
||||
<!-- TODO: When there are unit tests, build them. -->
|
||||
</target>
|
||||
|
||||
<target name="cleanup-build-output" description="Cleans up the build output for archival.">
|
||||
<echo message="Cleaning up build output..." />
|
||||
<delete>
|
||||
<fileset basedir="${build.bin.dir}">
|
||||
<include name="*" />
|
||||
<exclude name="Paraesthesia.Tools.*" />
|
||||
</fileset>
|
||||
</delete>
|
||||
<echo message="Build output cleaned up. Only project output files remain." />
|
||||
</target>
|
||||
|
||||
<target name="set-version" description="Updates the build assembly version.">
|
||||
<asminfo output="AssemblyVersion.cs" language="CSharp">
|
||||
<imports>
|
||||
<import namespace="System.Reflection" />
|
||||
</imports>
|
||||
<attributes>
|
||||
<attribute type="AssemblyVersionAttribute" value="${build.version}"/>
|
||||
<attribute type="AssemblyCompanyAttribute" value="Paraesthesia" />
|
||||
<attribute type="AssemblyCopyrightAttribute" value="(c) 2007 - ${datetime::get-year(datetime::now())} Travis Illig" />
|
||||
</attributes>
|
||||
<references>
|
||||
<include name="System.dll" />
|
||||
</references>
|
||||
</asminfo>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,25 @@
|
||||
The `Default.build` file has been added from https://github.com/tillig/nant-tasks under the following license:
|
||||
|
||||
```text
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2009 Travis Illig
|
||||
|
||||
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.
|
||||
```
|
||||
+206
@@ -0,0 +1,206 @@
|
||||
The `manifest_large_exported_classes_node.pp` file has been added from https://github.com/puppetlabs/puppet under the following license:
|
||||
|
||||
```text
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
@@ -0,0 +1,65 @@
|
||||
class foo ($bar) {
|
||||
@@notify { 'foo': }
|
||||
}
|
||||
@@file { "somedir/${name}_${munin_port_real}":
|
||||
ensure => present,
|
||||
content => template("munin/defaultclient.erb"),
|
||||
}
|
||||
# Collect all exported files
|
||||
File <<||>>
|
||||
|
||||
# Compile the munin.conf with a local header
|
||||
concatenated_file { "/etc/munin/munin.conf":
|
||||
dir => somedir,
|
||||
header => "/etc/munin/munin.conf.header",
|
||||
}
|
||||
hosting_vserver_configuration {
|
||||
"erics":
|
||||
domain => "orange.co",
|
||||
type => "friend",
|
||||
context => 13,
|
||||
ip => "255.255.255.254", prefix => 27,
|
||||
admin_user => "erict", admin_user_name => "hello, its me",
|
||||
admin_user_email => "erict@orange.co",
|
||||
customer => "hello? is it me?",
|
||||
admin_password => file("/etc/puppet/secrets/hosting/erict_passwd"),
|
||||
}
|
||||
class davids_black_co_at {
|
||||
## Create users for my parents and my grandmother
|
||||
hosting::user {
|
||||
rztt: realname => "some other rztt",
|
||||
uid => 2001, admin => true;
|
||||
same: realname => "could be same",
|
||||
uid => 2002;
|
||||
imapersontoodamnit: realname => "some one else",
|
||||
uid => 2003;
|
||||
}
|
||||
|
||||
# Install git.black.co.at
|
||||
include git::daemon
|
||||
include git::web
|
||||
git::web::export { [manifests, "puppet-trunk"]: }
|
||||
|
||||
# Provision an additional mysql database on the database server
|
||||
hosting::database { "fogbugz": type => mysql }
|
||||
# Create another VirtualHost
|
||||
apache2::site { "local-fogbugz":
|
||||
source => "puppet://$servername/files/hosting/erict/sites/local-fogbugz"
|
||||
}
|
||||
}
|
||||
node backuppc {
|
||||
# only use the smarthost
|
||||
$mta = ssmtp
|
||||
# this is a vserver on this host, so register correctly in nagios
|
||||
$nagios_parent = "orange.co"
|
||||
# I'm sharing an IP here, so those things have to have their own ports
|
||||
$apache2_port = 8080
|
||||
$munin_port = 5008
|
||||
$munin_stats_port = 8667
|
||||
|
||||
# default configuration
|
||||
include dbp
|
||||
|
||||
# configure the backuppc server
|
||||
include backuppc::server
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
The `src_test.rego` file has been added from https://github.com/Azure/Community-Policy under the following license:
|
||||
|
||||
```text
|
||||
MIT License
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
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
|
||||
```
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
package k8sazureprocmount
|
||||
|
||||
test_input_container_not_proc_mount_allowed {
|
||||
input := { "review": input_review, "parameters": input_parameters_default}
|
||||
results := violation with input as input
|
||||
count(results) == 0
|
||||
}
|
||||
test_input_container_proc_mount_not_allowed {
|
||||
input := { "review": input_review_unmasked, "parameters": input_parameters_default}
|
||||
results := violation with input as input
|
||||
count(results) == 1
|
||||
}
|
||||
test_input_container_proc_mount_not_allowed_null_param {
|
||||
input := { "review": input_review_unmasked, "parameters": null }
|
||||
results := violation with input as input
|
||||
count(results) == 1
|
||||
}
|
||||
test_input_container_proc_mount_not_allowed_missing_param {
|
||||
input := { "review": input_review_unmasked }
|
||||
results := violation with input as input
|
||||
count(results) == 1
|
||||
}
|
||||
test_input_container_many_not_proc_mount_allowed {
|
||||
input := { "review": input_review_many, "parameters": input_parameters_default}
|
||||
results := violation with input as input
|
||||
count(results) == 0
|
||||
}
|
||||
test_input_container_many_mixed_proc_mount_not_allowed {
|
||||
input := { "review": input_review_many_mixed, "parameters": input_parameters_default}
|
||||
results := violation with input as input
|
||||
count(results) == 1
|
||||
}
|
||||
test_input_container_many_mixed_proc_mount_not_allowed_two {
|
||||
input := { "review": input_review_many_mixed_two, "parameters": input_parameters_default}
|
||||
results := violation with input as input
|
||||
count(results) == 2
|
||||
}
|
||||
test_input_container_proc_mount_case_insensitive {
|
||||
input := { "review": input_review, "parameters": input_parameters_default_lower}
|
||||
results := violation with input as input
|
||||
count(results) == 0
|
||||
}
|
||||
test_input_container_not_proc_mount_unmasked {
|
||||
input := { "review": input_review, "parameters": input_parameters_unmasked}
|
||||
results := violation with input as input
|
||||
count(results) == 0
|
||||
}
|
||||
test_input_container_proc_mount_unmasked {
|
||||
input := { "review": input_review_unmasked, "parameters": input_parameters_unmasked}
|
||||
results := violation with input as input
|
||||
count(results) == 0
|
||||
}
|
||||
test_input_container_many_mixed_proc_mount_allowed_two {
|
||||
input := { "review": input_review_many_mixed_two, "parameters": input_parameters_unmasked}
|
||||
results := violation with input as input
|
||||
count(results) == 0
|
||||
}
|
||||
|
||||
input_review = {
|
||||
"object": {
|
||||
"metadata": {
|
||||
"name": "nginx"
|
||||
},
|
||||
"spec": {
|
||||
"containers": input_containers_one
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input_review_unmasked = {
|
||||
"object": {
|
||||
"metadata": {
|
||||
"name": "nginx"
|
||||
},
|
||||
"spec": {
|
||||
"containers": input_containers_one_unmasked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input_review_many = {
|
||||
"object": {
|
||||
"metadata": {
|
||||
"name": "nginx"
|
||||
},
|
||||
"spec": {
|
||||
"containers": input_containers_many,
|
||||
"initContainers": input_containers_one
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input_review_many_mixed = {
|
||||
"object": {
|
||||
"metadata": {
|
||||
"name": "nginx"
|
||||
},
|
||||
"spec": {
|
||||
"containers": input_containers_many,
|
||||
"initContainers": input_containers_one_unmasked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input_review_many_mixed_two = {
|
||||
"object": {
|
||||
"metadata": {
|
||||
"name": "nginx"
|
||||
},
|
||||
"spec": {
|
||||
"containers": input_containers_many_mixed,
|
||||
"initContainers": input_containers_one_unmasked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input_containers_one = [
|
||||
{
|
||||
"name": "nginx",
|
||||
"image": "nginx",
|
||||
"securityContext": {
|
||||
"procMount": "Default"
|
||||
}
|
||||
}]
|
||||
|
||||
input_containers_one_unmasked = [
|
||||
{
|
||||
"name": "nginx",
|
||||
"image": "nginx",
|
||||
"securityContext": {
|
||||
"procMount": "Unmasked"
|
||||
}
|
||||
}]
|
||||
|
||||
input_containers_many = [
|
||||
{
|
||||
"name": "nginx",
|
||||
"image": "nginx",
|
||||
"securityContext": {
|
||||
"procMount": "Default"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nginx1",
|
||||
"image": "nginx"
|
||||
},
|
||||
{
|
||||
"name": "nginx2",
|
||||
"image": "nginx",
|
||||
"securityContext": {
|
||||
"runAsUser": "1000"
|
||||
}
|
||||
}]
|
||||
|
||||
input_containers_many_mixed = [
|
||||
{
|
||||
"name": "nginx",
|
||||
"image": "nginx",
|
||||
"securityContext": {
|
||||
"procMount": "Default"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "nginx1",
|
||||
"image": "nginx",
|
||||
"securityContext": {
|
||||
"procMount": "Unmasked"
|
||||
}
|
||||
}]
|
||||
|
||||
input_parameters_default = {
|
||||
"procMount": "Default"
|
||||
}
|
||||
|
||||
input_parameters_default_lower = {
|
||||
"procMount": "default"
|
||||
}
|
||||
|
||||
input_parameters_unmasked = {
|
||||
"procMount": "Unmasked"
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
The `recipe141_aws_simple_storage_service.robot` file has been added from https://github.com/adrianyorke/robotframework-cookbook under the following license:
|
||||
|
||||
```text
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Adrian Yorke
|
||||
|
||||
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.
|
||||
```
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user