diff --git a/.gitignore b/.gitignore index 1edc07b..40766d3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ __pycache__/ _notebooks _testoutput .*_cache/ +.coverage* +.hypothesis/ .idea/ .ipynb_checkpoints/ .jupyter/ @@ -15,5 +17,3 @@ envs/ lib/ node_modules/ Untitled*.ipynb -.coverage -.coverage* diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..174f947 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vendor/robotframework"] + path = vendor/robotframework + url = https://github.com/robotframework/robotframework.git diff --git a/anaconda-project.yml b/anaconda-project.yml index ab2ac99..ed5b237 100644 --- a/anaconda-project.yml +++ b/anaconda-project.yml @@ -2,15 +2,52 @@ name: irobotframework-dev variables: NEXT_RELEASE: 0.5.0 + EXTENSIONS: > + @jupyter-widgets/jupyterlab-manager@0.38.1 + src/packages/jupyterlab-robotframework commands: - atom: - unix: atom . - env_spec: test bootstrap: unix: python -m scripts.bootstrap windows: python -m scripts.bootstrap env_spec: default + build:docs: + description: build the docs + unix: sphinx-build docs dist/docs + env_spec: docs + build:docs:watch: + description: build the docs + unix: sphinx-autobuild -b html docs dist/docs + env_spec: docs + build:pip:sdist: + description: build a pip sdist + unix: |- + set -eux \ + && python setup.py clean \ + && python setup.py sdist --dist-dir ${PROJECT_DIR}/dist/pip + env_spec: test + build:pip:wheel: + description: build a pip wheel + unix: |- + set -eux \ + && python setup.py clean \ + && python setup.py bdist_wheel --dist-dir ${PROJECT_DIR}/dist/pip + env_spec: test + build:npm: + description: build an npm package + unix: |- + set -eux \ + && mkdir -p dist/npm \ + && cd src/packages/jupyterlab-robotframework \ + && mv $(npm pack) ../../../dist/npm/ + env_spec: test + build:rfug: + unix: python -m scripts.rfug + env_spec: docs + jlpm: + description: run the yarn bundled with JupyterLab + unix: jlpm + env_spec: default build: unix: python -m scripts.build windows: python -m scripts.build @@ -30,6 +67,10 @@ commands: unix: jupyter lab --no-browser --debug --app-dir dist/lab windows: jupyter lab --no-browser --debug --app-dir dist\lab env_spec: default + lab:ext: + description: install 1st/3rd party extensions + unix: jupyter labextension install $EXTENSIONS + env_spec: default ipython: description: run IRobotFramework in the terminal windows: ipython --kernel-name robotframework @@ -54,17 +95,13 @@ commands: env_spec: test env_specs: - _python: - packages: - - python >=3.6,<3.7 - _build: - description: an environment for building conda packages (busted in CI, use base) + default: inherit_from: - - _python + - test + - docs packages: - - conda-build - - conda-verify - default: + - ipywidgets + irobotframework-minimal: description: a pretty heavy environment, because robot & jupyter & node inherit_from: - _python @@ -72,31 +109,28 @@ env_specs: - conda-forge - defaults packages: - - importnb >=0.5.2 + - importnb >=0.5.5 - ipykernel >=5.1 - ipython >=7.2 - - jupyterlab >=0.35.4,<0.36 - - jinja2 + - jupyterlab >=0.35.6,<0.36 - nodejs >=8.12,<9 - pillow - robotframework >=3.1 -<<<<<<< HEAD - tornado <6 -======= - default-win: + minimal-win: inherit_from: - - default + - irobotframework-minimal packages: - nodejs>=8,<9 ->>>>>>> bollwyvl/master test: description: an even-heavier test environment, because browsers inherit_from: - - default + - irobotframework-minimal packages: - black - flake8 - geckodriver + - hypothesis - isort - jupyter_kernel_test - pylint @@ -108,19 +142,32 @@ env_specs: - twine test-win: inherit_from: - - default-win + - minimal-win - test test-win37: inherit_from: - - default-win + - minimal-win - test packages: - python>=3.7,<3.8 docs: inherit_from: - - default + - irobotframework-minimal packages: - nbsphinx + - lxml - sphinx - sphinx_rtd_theme - sphinx-autobuild + - pip: + - robotframeworklexer + _python: + packages: + - python >=3.6,<3.7 + _build: + description: an environment for building conda packages (busted in CI, use base) + inherit_from: + - _python + packages: + - conda-build + - conda-verify diff --git a/atest/acceptance/02_Robot/01_Settings.robot b/atest/acceptance/02_Robot/01_Settings.robot index 703afa1..46f8f88 100644 --- a/atest/acceptance/02_Robot/01_Settings.robot +++ b/atest/acceptance/02_Robot/01_Settings.robot @@ -29,17 +29,13 @@ Robot Notebook completes Settings Add a Cell *** Set Go to End of Cell Source Trigger Cell Source Completion - Sleep 0.1s - Cell Source Should Equal *** Settings ***\n + Cell Source Should Eventually Contain *** Settings ***\n Append to Cell Source Lib Trigger Cell Source Completion - Sleep 0.1s - Cell Source Should Contain Library\ \ + Cell Source Should Eventually Contain Library\ \ Append to Cell Source Operating Trigger Cell Source Completion - Sleep 0.1s - Cell Source Should Contain OperatingSystem + Cell Source Should Eventually Contain OperatingSystem Append to Cell Source \nT Trigger Cell Source Completion - Sleep 0.1s Completions Should Contain Test Setup \ \ Test Teardown \ \ Test Template \ \ Test Timeout \ \ # important whitespace diff --git a/atest/acceptance/02_Robot/02_Highlight.robot b/atest/acceptance/02_Robot/02_Highlight.robot new file mode 100644 index 0000000..5335ef0 --- /dev/null +++ b/atest/acceptance/02_Robot/02_Highlight.robot @@ -0,0 +1,152 @@ +*** Settings *** +Documentation Highlight Robot Syntax +Suite Setup Make a Highlighting Notebook +Default Tags kernel:robot browser:${BROWSER} feature:highlighting +Resource ../../resources/Highlight.robot + +*** Test Cases *** +Robot Syntax is Beautiful + [Documentation] Does CodeMirror syntax highlighting work as expected? + [Template] Robot Syntax Highlighting Should Yield Tokens + basic${/}00_test_case + loops${/}old_style + # BEGIN RFUG + rfug${/}0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a + rfug${/}02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1 + rfug${/}04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404 + rfug${/}0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271 + rfug${/}05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4 + rfug${/}05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18 + rfug${/}06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7 + rfug${/}08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139 + rfug${/}092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14 + rfug${/}0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4 + rfug${/}0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08 + rfug${/}0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a + rfug${/}1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69 + rfug${/}10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4 + rfug${/}12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833 + rfug${/}153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b + rfug${/}1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8 + rfug${/}1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64 + rfug${/}1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1 + rfug${/}20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac + rfug${/}20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766 + rfug${/}20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61 + rfug${/}20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5 + rfug${/}212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e + rfug${/}22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b + rfug${/}29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa + rfug${/}2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0 + rfug${/}2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9 + rfug${/}2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005 + rfug${/}30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f + rfug${/}341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7 + rfug${/}34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db + rfug${/}388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b + rfug${/}39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b + rfug${/}3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d + rfug${/}3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11 + rfug${/}3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510 + rfug${/}3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499 + rfug${/}3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe + rfug${/}3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f + rfug${/}3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033 + rfug${/}40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06 + rfug${/}410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6 + rfug${/}415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20 + rfug${/}4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae + rfug${/}44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13 + rfug${/}452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c + rfug${/}479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1 + rfug${/}47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2 + rfug${/}47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771 + rfug${/}48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f + rfug${/}506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be + rfug${/}52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab + rfug${/}532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f + rfug${/}5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756 + rfug${/}57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246 + rfug${/}57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3 + rfug${/}591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad + rfug${/}59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63 + rfug${/}5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442 + rfug${/}5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9 + rfug${/}5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4 + rfug${/}6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803 + rfug${/}618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86 + rfug${/}6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6 + rfug${/}651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc + rfug${/}653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae + rfug${/}6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09 + rfug${/}6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154 + rfug${/}6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c + rfug${/}6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5 + rfug${/}73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930 + rfug${/}75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41 + rfug${/}766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652 + rfug${/}7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c + rfug${/}7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264 + rfug${/}7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8 + rfug${/}7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569 + rfug${/}874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8 + rfug${/}8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd + rfug${/}8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3 + rfug${/}8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804 + rfug${/}8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643 + rfug${/}8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba + rfug${/}8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181 + rfug${/}90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5 + rfug${/}90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6 + rfug${/}92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2 + rfug${/}93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a + rfug${/}9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e + rfug${/}97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440 + rfug${/}99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126 + rfug${/}a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd + rfug${/}a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283 + rfug${/}a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7 + rfug${/}a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9 + rfug${/}aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4 + rfug${/}ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae + rfug${/}b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244 + rfug${/}b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21 + rfug${/}ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2 + rfug${/}bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974 + rfug${/}bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c + rfug${/}c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79 + rfug${/}c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9 + rfug${/}c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b + rfug${/}c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932 + rfug${/}c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af + rfug${/}c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307 + rfug${/}c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1 + rfug${/}c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826 + rfug${/}c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b + rfug${/}cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5 + rfug${/}cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7 + rfug${/}cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad + rfug${/}d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272 + rfug${/}d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1 + rfug${/}d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777 + rfug${/}d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa + rfug${/}da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47 + rfug${/}dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17 + rfug${/}dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110 + rfug${/}defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2 + rfug${/}e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5 + rfug${/}e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5 + rfug${/}e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35 + rfug${/}e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021 + rfug${/}e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466 + rfug${/}e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181 + rfug${/}e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90 + rfug${/}e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d + rfug${/}eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907 + rfug${/}ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48 + rfug${/}f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704 + rfug${/}f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8 + rfug${/}fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4 + rfug${/}fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486 + rfug${/}fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b + # END RFUG diff --git a/atest/fixtures/highlighting/samples/basic/00_test_case.robot b/atest/fixtures/highlighting/samples/basic/00_test_case.robot new file mode 100644 index 0000000..6cbd645 --- /dev/null +++ b/atest/fixtures/highlighting/samples/basic/00_test_case.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +A Test Case + Log Hello World + + Log Hello World \ No newline at end of file diff --git a/atest/fixtures/highlighting/samples/loops/old_style.robot b/atest/fixtures/highlighting/samples/loops/old_style.robot new file mode 100644 index 0000000..b7bc6ae --- /dev/null +++ b/atest/fixtures/highlighting/samples/loops/old_style.robot @@ -0,0 +1,18 @@ +*** Keywords *** +This is a ${woo} keyword + Log and it's normal ${var} + +Old Syntax + Log Outside loop + :FOR ${i} ${animal} IN ENUMERATE cat dog + \ Log ${animal} + \ Log 2nd keyword a ${x.y}[0][${1}] b=${c${d}} another + \ Log something + \ ${x} = Log ${animal} + Log Outside loop + +This is a keyword + Log and it's ${var} normal + +*** Variables *** +${pop} Fooo diff --git a/atest/fixtures/highlighting/samples/rfug/0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a.robot b/atest/fixtures/highlighting/samples/rfug/0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a.robot new file mode 100644 index 0000000..62b9c5a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a.robot @@ -0,0 +1,9 @@ +*** Test Cases *** +Free Named Arguments + Run Program arg1 arg2 cwd=/home/user + Run Program argument shell=True env=${ENVIRON} + +*** Keywords *** +Run Program + [Arguments] @{args} &{config} + Run Process program.py @{args} &{config} diff --git a/atest/fixtures/highlighting/samples/rfug/02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1.robot b/atest/fixtures/highlighting/samples/rfug/02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1.robot new file mode 100644 index 0000000..4cfc0e0 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Constants + Login name=robot password=secret + +Dict Variable + Login &{USER} diff --git a/atest/fixtures/highlighting/samples/rfug/04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404.robot b/atest/fixtures/highlighting/samples/rfug/04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404.robot new file mode 100644 index 0000000..d14a92a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404.robot @@ -0,0 +1,13 @@ +*** Test Cases *** +Start index + Keyword ${LIST}[1:] + +End index + Keyword ${LIST}[:4] + +Start and end + Keyword ${LIST}[2:-1] + +Step + Keyword ${LIST}[::2] + Keyword ${LIST}[2:-1:2] diff --git a/atest/fixtures/highlighting/samples/rfug/0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271.robot b/atest/fixtures/highlighting/samples/rfug/0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271.robot new file mode 100644 index 0000000..3f08424 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Test With Settings + [Documentation] Another dummy test + [Tags] dummy owner-johndoe + Log Hello, world! diff --git a/atest/fixtures/highlighting/samples/rfug/05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4.robot b/atest/fixtures/highlighting/samples/rfug/05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4.robot new file mode 100644 index 0000000..4d67a1d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4.robot @@ -0,0 +1,4 @@ +*** Keywords *** +Select ${animal} from list + Open Page Pet Selection + Select Item From List animal_list ${animal} diff --git a/atest/fixtures/highlighting/samples/rfug/05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18.robot b/atest/fixtures/highlighting/samples/rfug/05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18.robot new file mode 100644 index 0000000..50df14e --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Nested item access + Should Be Equal ${DATA}[0][name] Robot + Should Be Equal ${DATA}[1][id] ${2} diff --git a/atest/fixtures/highlighting/samples/rfug/06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7.robot b/atest/fixtures/highlighting/samples/rfug/06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7.robot new file mode 100644 index 0000000..4552b58 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7.robot @@ -0,0 +1,8 @@ +*** Variables *** +${JOHN HOME} /home/john +${JANE HOME} /home/jane + +*** Test Cases *** +Example + ${name} = Get Name + Do X ${${name} HOME} diff --git a/atest/fixtures/highlighting/samples/rfug/08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139.robot b/atest/fixtures/highlighting/samples/rfug/08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139.robot new file mode 100644 index 0000000..c46df9d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139.robot @@ -0,0 +1,5 @@ +*** Settings *** +Library OperatingSystem +Library my.package.TestLibrary +Library MyLibrary arg1 arg2 +Library ${LIBRARY} diff --git a/atest/fixtures/highlighting/samples/rfug/092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14.robot b/atest/fixtures/highlighting/samples/rfug/092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14.robot new file mode 100644 index 0000000..1022a5a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14.robot @@ -0,0 +1,14 @@ +*** Test Cases *** +Normal test case with embedded arguments + The result of 1 + 1 should be 2 + The result of 1 + 2 should be 3 + +Template with embedded arguments + [Template] The result of ${calculation} should be ${expected} + 1 + 1 2 + 1 + 2 3 + +*** Keywords *** +The result of ${calculation} should be ${expected} + ${result} = Calculate ${calculation} + Should Be Equal ${result} ${expected} diff --git a/atest/fixtures/highlighting/samples/rfug/0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4.robot b/atest/fixtures/highlighting/samples/rfug/0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4.robot new file mode 100644 index 0000000..5abb052 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4.robot @@ -0,0 +1,17 @@ +*** Settings *** +Documentation Resource file for demo purposes. +... This resource is only used in an example and it doesn't do anything useful. + +*** Keywords *** +My Keyword + [Documentation] Does nothing + No Operation + +Your Keyword + [Arguments] ${arg} + [Documentation] Takes one argument and *does nothing* with it. + ... + ... Examples: + ... | Your Keyword | xxx | + ... | Your Keyword | yyy | + No Operation diff --git a/atest/fixtures/highlighting/samples/rfug/0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08.robot b/atest/fixtures/highlighting/samples/rfug/0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08.robot new file mode 100644 index 0000000..219f576 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08.robot @@ -0,0 +1,17 @@ +*** Keywords *** +Any Number Of Arguments + [Arguments] @{varargs} + Log Many @{varargs} + +One Or More Arguments + [Arguments] ${required} @{rest} + Log Many ${required} @{rest} + +Required, Default, Varargs + [Arguments] ${req} ${opt}=42 @{others} + Log Required: ${req} + Log Optional: ${opt} + Log Others: + FOR ${item} IN @{others} + Log ${item} + END diff --git a/atest/fixtures/highlighting/samples/rfug/0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a.robot b/atest/fixtures/highlighting/samples/rfug/0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a.robot new file mode 100644 index 0000000..7f37bbf --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a.robot @@ -0,0 +1,9 @@ +*** Test Cases *** +Named-only Arguments + Run Program arg1 arg2 # 'shell' is False (default) + Run Program argument shell=True # 'shell' is True + +*** Keywords *** +Run Program + [Arguments] @{args} ${shell}=False + Run Process program.py @{args} shell=${shell} diff --git a/atest/fixtures/highlighting/samples/rfug/1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69.robot b/atest/fixtures/highlighting/samples/rfug/1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69.robot new file mode 100644 index 0000000..c134728 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Assign multiple + ${a} ${b} ${c} = Get Three + ${first} @{rest} = Get Three + @{before} ${last} = Get Three + ${begin} @{middle} ${end} = Get Three diff --git a/atest/fixtures/highlighting/samples/rfug/10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4.robot b/atest/fixtures/highlighting/samples/rfug/10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4.robot new file mode 100644 index 0000000..334f1fc --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4.robot @@ -0,0 +1,14 @@ +*** Settings *** +Documentation Example suite +Suite Setup Do Something ${MESSAGE} +Force Tags example +Library SomeLibrary + +*** Variables *** +${MESSAGE} Hello, world! + +*** Keywords *** +Do Something + [Arguments] ${args} + Some Keyword ${arg} + Another Keyword diff --git a/atest/fixtures/highlighting/samples/rfug/12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833.robot b/atest/fixtures/highlighting/samples/rfug/12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833.robot new file mode 100644 index 0000000..2d3aa43 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833.robot @@ -0,0 +1,12 @@ +*** Settings *** +Documentation This is documentation for this test suite.\nThis kind of documentation can often be get quite long... +Default Tags default tag 1 default tag 2 default tag 3 default tag 4 default tag 5 + +*** Variable *** +@{LIST} this list is quite long and items in it could also be long + +*** Test Cases *** +Example + [Tags] you probably do not have this many tags in real life + Do X first argument second argument third argument fourth argument fifth argument sixth argument + ${var} = Get X first argument passed to this keyword is pretty long second argument passed to this keyword is long too diff --git a/atest/fixtures/highlighting/samples/rfug/153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b.robot b/atest/fixtures/highlighting/samples/rfug/153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b.robot new file mode 100644 index 0000000..c86cc73 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b.robot @@ -0,0 +1,3 @@ +*** Settings *** +Documentation First line.\n\nSecond paragraph. This time\nwith multiple lines. +Metadata Example list - first item\n- second item\n- third diff --git a/atest/fixtures/highlighting/samples/rfug/1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8.robot b/atest/fixtures/highlighting/samples/rfug/1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8.robot new file mode 100644 index 0000000..d2ed99a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Example + Should Be Equal ${0b1011} ${11} + Should Be Equal ${0o10} ${8} + Should Be Equal ${0xff} ${255} + Should Be Equal ${0B1010} ${0XA} diff --git a/atest/fixtures/highlighting/samples/rfug/1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64.robot b/atest/fixtures/highlighting/samples/rfug/1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64.robot new file mode 100644 index 0000000..4d3c5b7 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Keyword Arguments + Example Keyword hello=world # Logs 'hello world'. + Example Keyword foo=1 bar=42 # Logs 'foo 1' and 'bar 42'. diff --git a/atest/fixtures/highlighting/samples/rfug/1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1.robot b/atest/fixtures/highlighting/samples/rfug/1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1.robot new file mode 100644 index 0000000..2191e7f --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1.robot @@ -0,0 +1,3 @@ +*** Settings *** +Library ExampleLibrary &{LIB ARGS} +Suite Setup Some Keyword &{KW ARGS} named=arg diff --git a/atest/fixtures/highlighting/samples/rfug/20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac.robot b/atest/fixtures/highlighting/samples/rfug/20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac.robot new file mode 100644 index 0000000..e863f66 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac.robot @@ -0,0 +1,6 @@ +*** Variables *** +&{USER 1} name=Matti address=xxx phone=123 +&{USER 2} name=Teppo address=yyy phone=456 +&{MANY} first=1 second=${2} ${3}=third +&{EVEN MORE} &{MANY} first=override empty= +... =empty key\=here=value diff --git a/atest/fixtures/highlighting/samples/rfug/20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766.robot b/atest/fixtures/highlighting/samples/rfug/20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766.robot new file mode 100644 index 0000000..a4b65fe --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766.robot @@ -0,0 +1,6 @@ +*** Tasks *** +Process invoice + Read information from PDF + Validate information + Submit information to backend system + Validate information is visible in web UI diff --git a/atest/fixtures/highlighting/samples/rfug/20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61.robot b/atest/fixtures/highlighting/samples/rfug/20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61.robot new file mode 100644 index 0000000..45f74d0 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61.robot @@ -0,0 +1,7 @@ +*** Test Cases *** +Defaults + One Default + One Default argument + Multiple Defaults required arg + Multiple Defaults required arg optional + Multiple Defaults required arg optional 1 optional 2 diff --git a/atest/fixtures/highlighting/samples/rfug/20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5.robot b/atest/fixtures/highlighting/samples/rfug/20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5.robot new file mode 100644 index 0000000..66a8f8f --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5.robot @@ -0,0 +1,15 @@ +*** Variables *** +@{LIST} a b c + +*** Test Cases *** +Manage index manually + ${index} = Set Variable -1 + FOR ${item} IN @{LIST} + ${index} = Evaluate ${index} + 1 + My Keyword ${index} ${item} + END + +For-in-enumerate + FOR ${index} ${item} IN ENUMERATE @{LIST} + My Keyword ${index} ${item} + END diff --git a/atest/fixtures/highlighting/samples/rfug/212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e.robot b/atest/fixtures/highlighting/samples/rfug/212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e.robot new file mode 100644 index 0000000..cc46b37 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e.robot @@ -0,0 +1,8 @@ +*** Test Cases *** +Constants + Log Hello + Log Hello, world!! + +Variables + Log ${GREET} + Log ${GREET}, ${NAME}!! diff --git a/atest/fixtures/highlighting/samples/rfug/22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b.robot b/atest/fixtures/highlighting/samples/rfug/22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b.robot new file mode 100644 index 0000000..4a3d233 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b.robot @@ -0,0 +1,17 @@ +*** Test Cases *** +Positional + Various Args hello world # Logs 'arg: hello' and 'vararg: world'. + +Named + Various Args arg=value # Logs 'arg: value'. + +Kwargs + Various Args a=1 b=2 c=3 # Logs 'kwarg: a 1', 'kwarg: b 2' and 'kwarg: c 3'. + Various Args c=3 a=1 b=2 # Same as above. Order does not matter. + +Positional and kwargs + Various Args 1 2 kw=3 # Logs 'arg: 1', 'vararg: 2' and 'kwarg: kw 3'. + +Named and kwargs + Various Args arg=value hello=world # Logs 'arg: value' and 'kwarg: hello world'. + Various Args hello=world arg=value # Same as above. Order does not matter. diff --git a/atest/fixtures/highlighting/samples/rfug/29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa.robot b/atest/fixtures/highlighting/samples/rfug/29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa.robot new file mode 100644 index 0000000..081bf02 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa.robot @@ -0,0 +1,13 @@ +| *** Test Cases *** +| Recommended solution +| | FOR | ${animal} | IN | cat | dog | +| | | Log | ${animal} | +| | | Log | 2nd keyword | +| | END | | +| | Log | Outside loop | +| +| Compatible with RF 3.0.x +| | :FOR | ${animal} | IN | cat | dog | +| | \ | Log | ${animal} | +| | \ | Log | 2nd keyword | +| | Log | Outside loop | diff --git a/atest/fixtures/highlighting/samples/rfug/2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0.robot b/atest/fixtures/highlighting/samples/rfug/2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0.robot new file mode 100644 index 0000000..381f3eb --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0.robot @@ -0,0 +1,32 @@ +*** Settings *** +Test Timeout 2 minutes + +*** Test Cases *** +Default Timeout + [Documentation] Timeout from the Setting table is used + Some Keyword argument + +Override + [Documentation] Override default, use 10 seconds timeout + [Timeout] 10 + Some Keyword argument + +Custom Message + [Documentation] Override default and use custom message + [Timeout] 1min 10s This is my custom error + Some Keyword argument + +Variables + [Documentation] It is possible to use variables too + [Timeout] ${TIMEOUT} + Some Keyword argument + +No Timeout + [Documentation] Empty timeout means no timeout even when Test Timeout has been used + [Timeout] + Some Keyword argument + +No Timeout 2 + [Documentation] Disabling timeout with NONE works too and is more explicit. + [Timeout] NONE + Some Keyword argument diff --git a/atest/fixtures/highlighting/samples/rfug/2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9.robot b/atest/fixtures/highlighting/samples/rfug/2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9.robot new file mode 100644 index 0000000..2149832 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + @{list} = Create List first second third + Length Should Be ${list} 3 + Log Many @{list} diff --git a/atest/fixtures/highlighting/samples/rfug/2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005.robot b/atest/fixtures/highlighting/samples/rfug/2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005.robot new file mode 100644 index 0000000..a35d2c5 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005.robot @@ -0,0 +1,19 @@ +*** Test Cases *** +One Return Value + ${ret} = Return One Value argument + Some Keyword ${ret} + +Multiple Values + ${a} ${b} ${c} = Return Three Values + @{list} = Return Three Values + ${scalar} @{rest} = Return Three Values + +*** Keywords *** +Return One Value + [Arguments] ${arg} + Do Something ${arg} + ${value} = Get Some Value + [Return] ${value} + +Return Three Values + [Return] foo bar zap diff --git a/atest/fixtures/highlighting/samples/rfug/30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f.robot b/atest/fixtures/highlighting/samples/rfug/30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f.robot new file mode 100644 index 0000000..bc8d480 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f.robot @@ -0,0 +1,8 @@ +*** Keywords *** +With Positional + [Arguments] ${positional} @{} ${named} + Log Many ${positional} ${named} + +With Free Named + [Arguments] @{varargs} ${named only} &{free named} + Log Many @{varargs} ${named only} &{free named} diff --git a/atest/fixtures/highlighting/samples/rfug/341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7.robot b/atest/fixtures/highlighting/samples/rfug/341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7.robot new file mode 100644 index 0000000..4bd8924 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7.robot @@ -0,0 +1,24 @@ +*** Settings *** +Documentation An example resource file +Library SeleniumLibrary +Resource ${RESOURCES}/common.resource + +*** Variables *** +${HOST} localhost:7272 +${LOGIN URL} http://${HOST}/ +${WELCOME URL} http://${HOST}/welcome.html +${BROWSER} Firefox + +*** Keywords *** +Open Login Page + [Documentation] Opens browser to login page + Open Browser ${LOGIN URL} ${BROWSER} + Title Should Be Login Page + +Input Name + [Arguments] ${name} + Input Text username_field ${name} + +Input Password + [Arguments] ${password} + Input Text password_field ${password} diff --git a/atest/fixtures/highlighting/samples/rfug/34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db.robot b/atest/fixtures/highlighting/samples/rfug/34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db.robot new file mode 100644 index 0000000..c4bc529 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db.robot @@ -0,0 +1,5 @@ +*** Settings *** +Library PythonLibrary.py +Library /absolute/path/JavaLibrary.java +Library relative/path/PythonDirLib/ possible arguments +Library ${RESOURCES}/Example.class diff --git a/atest/fixtures/highlighting/samples/rfug/388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b.robot b/atest/fixtures/highlighting/samples/rfug/388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b.robot new file mode 100644 index 0000000..482df07 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b.robot @@ -0,0 +1,11 @@ +*** Test Cases *** +Dictionary variable item + Login ${USER}[name] ${USER}[password] + Title Should Be Welcome ${USER}[name]! + +Key defined as variable + Log Many ${DICT}[${KEY}] ${DICT}[${42}] + +Attribute access + Login ${USER.name} ${USER.password} + Title Should Be Welcome ${USER.name}! diff --git a/atest/fixtures/highlighting/samples/rfug/39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b.robot b/atest/fixtures/highlighting/samples/rfug/39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b.robot new file mode 100644 index 0000000..7825b43 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b.robot @@ -0,0 +1,15 @@ +*** Test Cases *** + Example 1 + [Documentation] First line\n Second line in multiple parts + No Operation + + Example 2 + [Documentation] First line + ... Second line in multiple parts + No Operation + + Example 3 + [Documentation] First line\n + ... Second line in\ + ... multiple parts + No Operation diff --git a/atest/fixtures/highlighting/samples/rfug/3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d.robot b/atest/fixtures/highlighting/samples/rfug/3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d.robot new file mode 100644 index 0000000..619bec7 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d.robot @@ -0,0 +1,20 @@ +*** Test Cases *** +Example + I execute "ls" + I execute "ls" with "-lh" + I type 1 + 2 + I type 53 - 11 + Today is 2011-06-27 + +*** Keywords *** +I execute "${cmd:[^"]+}" + Run Process ${cmd} shell=True + +I execute "${cmd}" with "${opts}" + Run Process ${cmd} ${opts} shell=True + +I type ${a:\d+} ${operator:[+-]} ${b:\d+} + Calculate ${a} ${operator} ${b} + +Today is ${date:\d{4\}-\d{2\}-\d{2\}} + Log ${date} diff --git a/atest/fixtures/highlighting/samples/rfug/3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11.robot b/atest/fixtures/highlighting/samples/rfug/3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11.robot new file mode 100644 index 0000000..6d4d053 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11.robot @@ -0,0 +1,6 @@ +*** Settings *** +Documentation +... First paragraph has only one line. +... +... Second paragraph, this time created +... with multiple lines. diff --git a/atest/fixtures/highlighting/samples/rfug/3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510.robot b/atest/fixtures/highlighting/samples/rfug/3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510.robot new file mode 100644 index 0000000..1bc73cd --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510.robot @@ -0,0 +1,36 @@ +*** Test Cases *** +Only upper limit + [Documentation] Loops over values from 0 to 9 + FOR ${index} IN RANGE 10 + Log ${index} + END + +Start and end + [Documentation] Loops over values from 1 to 10 + FOR ${index} IN RANGE 1 11 + Log ${index} + END + +Also step given + [Documentation] Loops over values 5, 15, and 25 + FOR ${index} IN RANGE 5 26 10 + Log ${index} + END + +Negative step + [Documentation] Loops over values 13, 3, and -7 + FOR ${index} IN RANGE 13 -13 -10 + Log ${index} + END + +Arithmetic + [Documentation] Arithmetic with variable + FOR ${index} IN RANGE ${var} + 1 + Log ${index} + END + +Float parameters + [Documentation] Loops over values 3.14, 4.34, and 5.54 + FOR ${index} IN RANGE 3.14 6.09 1.2 + Log ${index} + END diff --git a/atest/fixtures/highlighting/samples/rfug/3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499.robot b/atest/fixtures/highlighting/samples/rfug/3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499.robot new file mode 100644 index 0000000..a5c0c49 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499.robot @@ -0,0 +1,7 @@ +*** Test Cases ** +Normal test case + Example keyword first argument second argument + +Templated test case + [Template] Example keyword + first argument second argument diff --git a/atest/fixtures/highlighting/samples/rfug/3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe.robot b/atest/fixtures/highlighting/samples/rfug/3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe.robot new file mode 100644 index 0000000..f5777d3 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe.robot @@ -0,0 +1,8 @@ +*** Test Case *** +For-in-enumerate with two values per iteration + FOR ${index} ${en} ${fi} IN ENUMERATE + ... cat kissa + ... dog koira + ... horse hevonen + Log "${en}" in English is "${fi}" in Finnish (index: ${index}) + END diff --git a/atest/fixtures/highlighting/samples/rfug/3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f.robot b/atest/fixtures/highlighting/samples/rfug/3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f.robot new file mode 100644 index 0000000..004bcb0 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f.robot @@ -0,0 +1,17 @@ +*** Test Cases *** # args # args, kwargs +Positional only + Dynamic x # [x] # [x], {} + Dynamic x y # [x, y] # [x, y], {} + Dynamic x y z # [x, y, z] # [x, y, z], {} + +Named only + Dynamic a=x # [x] # [], {a: x} + Dynamic c=z a=x b=y # [x, y, z] # [], {a: x, b: y, c: z} + +Positional and named + Dynamic x b=y # [x, y] # [x], {b: y} + Dynamic x y c=z # [x, y, z] # [x, y], {c: z} + Dynamic x b=y c=z # [x, y, z] # [x], {y: b, c: z} + +Intermediate missing + Dynamic x c=z # [x, d1, z] # [x], {c: z} diff --git a/atest/fixtures/highlighting/samples/rfug/3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033.robot b/atest/fixtures/highlighting/samples/rfug/3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033.robot new file mode 100644 index 0000000..23ca2c3 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Returning one value + ${string} = Return String + Should Be Equal ${string} Hello, world! + ${object} = Return Object Robot + Should Be Equal ${object.name} Robot diff --git a/atest/fixtures/highlighting/samples/rfug/40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06.robot b/atest/fixtures/highlighting/samples/rfug/40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06.robot new file mode 100644 index 0000000..09d240a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Example + ${OBJECT.name} = Set Variable New name + ${OBJECT.new_attr} = Set Variable New attribute diff --git a/atest/fixtures/highlighting/samples/rfug/410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6.robot b/atest/fixtures/highlighting/samples/rfug/410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6.robot new file mode 100644 index 0000000..5117faa --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6.robot @@ -0,0 +1,11 @@ +*** Test Cases *** +Coercion + Double Argument 3.14 + Double Argument 2e16 + Compatible Types Hello, world! 1234 + Compatible Types Hi again! -10 true + +No Coercion + Double Argument ${3.14} + Conflicting Types 1 ${2} # must use variables + Conflicting Types ${1} 2 diff --git a/atest/fixtures/highlighting/samples/rfug/415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20.robot b/atest/fixtures/highlighting/samples/rfug/415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20.robot new file mode 100644 index 0000000..cca0a9d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20.robot @@ -0,0 +1,7 @@ +*** Variables *** +${DATE} 2011-06-27 + +*** Test Cases *** +Example + I type ${1} + ${2} + Today is ${DATE} diff --git a/atest/fixtures/highlighting/samples/rfug/4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae.robot b/atest/fixtures/highlighting/samples/rfug/4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae.robot new file mode 100644 index 0000000..874ec94 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae.robot @@ -0,0 +1,31 @@ +*** Settings *** +Force Tags req-42 +Default Tags owner-john smoke + +*** Variables *** +${HOST} 10.0.1.42 + +*** Test Cases *** +No own tags + [Documentation] This test has tags owner-john, smoke and req-42. + No Operation + +With own tags + [Documentation] This test has tags not_ready, owner-mrx and req-42. + [Tags] owner-mrx not_ready + No Operation + +Own tags with variables + [Documentation] This test has tags host-10.0.1.42 and req-42. + [Tags] host-${HOST} + No Operation + +Empty own tags + [Documentation] This test has only tag req-42. + [Tags] + No Operation + +Set Tags and Remove Tags Keywords + [Documentation] This test has tags mytag and owner-john. + Set Tags mytag + Remove Tags smoke req-* diff --git a/atest/fixtures/highlighting/samples/rfug/44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13.robot b/atest/fixtures/highlighting/samples/rfug/44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13.robot new file mode 100644 index 0000000..d9575ab --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Returning + ${x} = Get X an argument + Log We got ${x}! diff --git a/atest/fixtures/highlighting/samples/rfug/452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c.robot b/atest/fixtures/highlighting/samples/rfug/452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c.robot new file mode 100644 index 0000000..249599b --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c.robot @@ -0,0 +1,9 @@ +*** Test Cases *** +Template and for + [Template] Example keyword + FOR ${item} IN @{ITEMS} + ${item} 2nd arg + END + FOR ${index} IN RANGE 42 + 1st arg ${index} + END diff --git a/atest/fixtures/highlighting/samples/rfug/479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1.robot b/atest/fixtures/highlighting/samples/rfug/479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1.robot new file mode 100644 index 0000000..7ff4e6a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Example + Remove Files ${TEMPDIR}/f1.txt ${TEMPDIR}/f2.txt ${TEMPDIR}/f3.txt + @{paths} = Join Paths ${TEMPDIR} f1.txt f2.txt f3.txt f4.txt diff --git a/atest/fixtures/highlighting/samples/rfug/47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2.robot b/atest/fixtures/highlighting/samples/rfug/47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2.robot new file mode 100644 index 0000000..97e86ac --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2.robot @@ -0,0 +1,13 @@ +*** Keywords *** +True examples + Should Be Equal ${x} ${y} Custom error values=True # Strings are generally true. + Should Be Equal ${x} ${y} Custom error values=yes # Same as the above. + Should Be Equal ${x} ${y} Custom error values=${TRUE} # Python `True` is true. + Should Be Equal ${x} ${y} Custom error values=${42} # Numbers other than 0 are true. + +False examples + Should Be Equal ${x} ${y} Custom error values=False # String `false` is false. + Should Be Equal ${x} ${y} Custom error values=no # Also string `no` is false. + Should Be Equal ${x} ${y} Custom error values=${EMPTY} # Empty string is false. + Should Be Equal ${x} ${y} Custom error values=${FALSE} # Python `False` is false. + Should Be Equal ${x} ${y} Custom error values=no values # Special false string with this keyword. diff --git a/atest/fixtures/highlighting/samples/rfug/47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771.robot b/atest/fixtures/highlighting/samples/rfug/47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771.robot new file mode 100644 index 0000000..e507416 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771.robot @@ -0,0 +1,9 @@ +*** Test Cases *** +Example 1A + Connect example.com 80 # Connect gets two strings as arguments + +Example 1B + Connect example.com ${80} # Connect gets a string and an integer + +Example 2 + Do X ${3.14} ${-1e-4} # Do X gets floating point numbers 3.14 and -0.0001 diff --git a/atest/fixtures/highlighting/samples/rfug/48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f.robot b/atest/fixtures/highlighting/samples/rfug/48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f.robot new file mode 100644 index 0000000..555c70d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + Repeat Keyword 5 Some Keyword arg1 arg2 + Repeat Keyword 42 times My Keyword + Repeat Keyword ${var} Another Keyword argument diff --git a/atest/fixtures/highlighting/samples/rfug/506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be.robot b/atest/fixtures/highlighting/samples/rfug/506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be.robot new file mode 100644 index 0000000..f910749 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be.robot @@ -0,0 +1,7 @@ +*** Test Cases *** +Normal Error + Fail This is a rather boring example... + +HTML Error + ${number} = Get Number + Should Be Equal ${number} 42 *HTML* Number is not my MAGIC number. diff --git a/atest/fixtures/highlighting/samples/rfug/52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab.robot b/atest/fixtures/highlighting/samples/rfug/52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab.robot new file mode 100644 index 0000000..7f5d106 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + ${list} = Create List first second third + Length Should Be ${list} 3 + Log Many @{list} diff --git a/atest/fixtures/highlighting/samples/rfug/532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f.robot b/atest/fixtures/highlighting/samples/rfug/532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f.robot new file mode 100644 index 0000000..59d827d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f.robot @@ -0,0 +1,3 @@ +*** Test Cases *** +My Test + Login Via User Panel ${username} ${password} diff --git a/atest/fixtures/highlighting/samples/rfug/5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756.robot b/atest/fixtures/highlighting/samples/rfug/5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756.robot new file mode 100644 index 0000000..b295d72 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756.robot @@ -0,0 +1,6 @@ +*** Variables *** +@{NAMES} Matti Teppo +@{NAMES2} @{NAMES} Seppo +@{NOTHING} +@{MANY} one two three four +... five six seven diff --git a/atest/fixtures/highlighting/samples/rfug/57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246.robot b/atest/fixtures/highlighting/samples/rfug/57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246.robot new file mode 100644 index 0000000..8aaf1e5 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246.robot @@ -0,0 +1,29 @@ +*** Settings *** +Test Setup Open Application App A +Test Teardown Close Application + +*** Test Cases *** +Default values + [Documentation] Setup and teardown from setting table + Do Something + +Overridden setup + [Documentation] Own setup, teardown from setting table + [Setup] Open Application App B + Do Something + +No teardown + [Documentation] Default setup, no teardown at all + Do Something + [Teardown] + +No teardown 2 + [Documentation] Setup and teardown can be disabled also with special value NONE + Do Something + [Teardown] NONE + +Using variables + [Documentation] Setup and teardown specified using variables + [Setup] ${SETUP} + Do Something + [Teardown] ${TEARDOWN} diff --git a/atest/fixtures/highlighting/samples/rfug/57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3.robot b/atest/fixtures/highlighting/samples/rfug/57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3.robot new file mode 100644 index 0000000..4043bad --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3.robot @@ -0,0 +1,12 @@ +*** Keywords *** +Free Named Only + [Arguments] &{named} + Log Many &{named} + +Positional And Free Named + [Arguments] ${required} &{extra} + Log Many ${required} &{extra} + +Run Program + [Arguments] @{args} &{config} + Run Process program.py @{args} &{config} diff --git a/atest/fixtures/highlighting/samples/rfug/591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad.robot b/atest/fixtures/highlighting/samples/rfug/591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad.robot new file mode 100644 index 0000000..61e1517 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + Create File ${TEMPDIR}/empty.txt + Create File ${TEMPDIR}/utf-8.txt Hyvä esimerkki + Create File ${TEMPDIR}/iso-8859-1.txt Hyvä esimerkki ISO-8859-1 diff --git a/atest/fixtures/highlighting/samples/rfug/59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63.robot b/atest/fixtures/highlighting/samples/rfug/59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63.robot new file mode 100644 index 0000000..453d2f1 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + KW 1 ${OBJECT.name} + KW 2 ${OBJECT.eat('Cucumber')} + KW 3 ${DICTIONARY[2]} diff --git a/atest/fixtures/highlighting/samples/rfug/5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442.robot b/atest/fixtures/highlighting/samples/rfug/5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442.robot new file mode 100644 index 0000000..0b83ab2 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442.robot @@ -0,0 +1,12 @@ +*** Keywords *** +Handle Table + [Arguments] @{table} + FOR ${row} IN @{table} + Handle Row @{row} + END + +Handle Row + [Arguments] @{row} + FOR ${cell} IN @{row} + Handle Cell ${cell} + END diff --git a/atest/fixtures/highlighting/samples/rfug/5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9.robot b/atest/fixtures/highlighting/samples/rfug/5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9.robot new file mode 100644 index 0000000..5957045 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9.robot @@ -0,0 +1,22 @@ +*** Keywords *** +One Argument With Default Value + [Arguments] ${arg}=default value + [Documentation] This keyword takes 0-1 arguments + Log Got argument ${arg} + +Two Arguments With Defaults + [Arguments] ${arg1}=default 1 ${arg2}=${VARIABLE} + [Documentation] This keyword takes 0-2 arguments + Log 1st argument ${arg1} + Log 2nd argument ${arg2} + +One Required And One With Default + [Arguments] ${required} ${optional}=default + [Documentation] This keyword takes 1-2 arguments + Log Required: ${required} + Log Optional: ${optional} + + Default Based On Earlier Argument + [Arguments] ${a} ${b}=${a} ${c}=${a} and ${b} + Should Be Equal ${a} ${b} + Should Be Equal ${c} ${a} and ${b} diff --git a/atest/fixtures/highlighting/samples/rfug/5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4.robot b/atest/fixtures/highlighting/samples/rfug/5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4.robot new file mode 100644 index 0000000..65a4098 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4.robot @@ -0,0 +1,20 @@ +*** Keywords *** +One line documentation + [Documentation] One line documentation. + No Operation + +Multiline documentation + [Documentation] The first line creates the short doc. + ... + ... This is the body of the documentation. + ... It is not shown in Libdoc outputs but only + ... the short doc is shown in logs. + No Operation + +Short documentation in multiple lines + [Documentation] If the short doc gets longer, it can span + ... multiple physical lines. + ... + ... The body is separated from the short doc with + ... an empty line. + No Operation diff --git a/atest/fixtures/highlighting/samples/rfug/6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803.robot b/atest/fixtures/highlighting/samples/rfug/6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803.robot new file mode 100644 index 0000000..cd9d8ed --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803.robot @@ -0,0 +1,3 @@ +*** Test Cases *** +Example + Example Keyword 42 False diff --git a/atest/fixtures/highlighting/samples/rfug/618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86.robot b/atest/fixtures/highlighting/samples/rfug/618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86.robot new file mode 100644 index 0000000..0c52017 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86.robot @@ -0,0 +1,3 @@ +*** Settings *** +Library com.company.TestLib WITH NAME TestLib +Library ${LIBRARY} WITH NAME MyName diff --git a/atest/fixtures/highlighting/samples/rfug/6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6.robot b/atest/fixtures/highlighting/samples/rfug/6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6.robot new file mode 100644 index 0000000..c721b74 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Example + :FOR ${animal} IN cat dog + \ Log ${animal} + \ Log 2nd keyword + Log Outside loop diff --git a/atest/fixtures/highlighting/samples/rfug/651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc.robot b/atest/fixtures/highlighting/samples/rfug/651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc.robot new file mode 100644 index 0000000..4c4241b --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc.robot @@ -0,0 +1,24 @@ +*** Test Cases *** +Add two numbers + Given I have Calculator open + When I add 2 and 40 + Then result should be 42 + +Add negative numbers + Given I have Calculator open + When I add 1 and -2 + Then result should be -1 + +*** Keywords *** +I have ${program} open + Start Program ${program} + +I add ${number 1} and ${number 2} + Input Number ${number 1} + Push Button + + Input Number ${number 2} + Push Button = + +Result should be ${expected} + ${result} = Get Result + Should Be Equal ${result} ${expected} diff --git a/atest/fixtures/highlighting/samples/rfug/653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae.robot b/atest/fixtures/highlighting/samples/rfug/653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae.robot new file mode 100644 index 0000000..81e8ae8 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae.robot @@ -0,0 +1,9 @@ +*** Keywords *** +Open Login Page + Open Browser http://host/login.html + Title Should Be Login Page + +Title Should Start With + [Arguments] ${expected} + ${title} = Get Title + Should Start With ${title} ${expected} diff --git a/atest/fixtures/highlighting/samples/rfug/6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09.robot b/atest/fixtures/highlighting/samples/rfug/6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09.robot new file mode 100644 index 0000000..ecfb9b0 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + FOR ${element} IN @{ELEMENTS} + Start Element ${element} + END diff --git a/atest/fixtures/highlighting/samples/rfug/6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154.robot b/atest/fixtures/highlighting/samples/rfug/6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154.robot new file mode 100644 index 0000000..8b0f29e --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154.robot @@ -0,0 +1,10 @@ +*** Settings *** +Documentation +... First line. +... +... Second paragraph. This time +... with multiple lines. +Metadata Example list +... - first item +... - second item +... - third diff --git a/atest/fixtures/highlighting/samples/rfug/6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c.robot b/atest/fixtures/highlighting/samples/rfug/6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c.robot new file mode 100644 index 0000000..d7ad7d3 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c.robot @@ -0,0 +1,8 @@ +*** Keywords *** +With Default + [Arguments] @{} ${named}=default + Log Many ${named} + +With And Without Defaults + [Arguments] @{} ${optional}=default ${mandatory} ${mandatory 2} ${optional 2}=default 2 ${mandatory 3} + Log Many ${optional} ${mandatory} ${mandatory 2} ${optional 2} ${mandatory 3} diff --git a/atest/fixtures/highlighting/samples/rfug/6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5.robot b/atest/fixtures/highlighting/samples/rfug/6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5.robot new file mode 100644 index 0000000..14603ae --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5.robot @@ -0,0 +1,5 @@ +*** Variables *** +${STRING} Hello, world! +${INTEGER} ${42} +@{LIST} one two +&{DICT} one=yksi two=kaksi diff --git a/atest/fixtures/highlighting/samples/rfug/73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930.robot b/atest/fixtures/highlighting/samples/rfug/73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930.robot new file mode 100644 index 0000000..898b3f6 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930.robot @@ -0,0 +1,10 @@ +*** Test Cases *** +Example + With Varargs named=value + With Varargs positional second positional named=foobar + Without Varargs first=1 second=2 + Without Varargs second=toka first=eka + With Positional foo named=bar + With Positional named=2 positional=1 + With Free Named positional named only=value x=1 y=2 + With Free Named foo=a bar=b named only=c quux=d diff --git a/atest/fixtures/highlighting/samples/rfug/75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41.robot b/atest/fixtures/highlighting/samples/rfug/75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41.robot new file mode 100644 index 0000000..fecdc55 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41.robot @@ -0,0 +1,14 @@ +*** Test Cases *** +Different argument names + [Template] The result of ${foo} should be ${bar} + 1 + 1 2 + 1 + 2 3 + +Only some arguments + [Template] The result of ${calculation} should be 3 + 1 + 2 + 4 - 1 + +New arguments + [Template] The ${meaning} of ${life} should be 42 + result 21 * 2 diff --git a/atest/fixtures/highlighting/samples/rfug/766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652.robot b/atest/fixtures/highlighting/samples/rfug/766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652.robot new file mode 100644 index 0000000..5ffaa58 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652.robot @@ -0,0 +1,7 @@ +*** Test Cases *** +Using backslash + Do Something first arg \ +Using ${EMPTY} + Do Something first arg ${EMPTY} +Non-trailing empty + Do Something ${EMPTY} second arg # Escaping needed in space separated format diff --git a/atest/fixtures/highlighting/samples/rfug/7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c.robot b/atest/fixtures/highlighting/samples/rfug/7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c.robot new file mode 100644 index 0000000..b50bfe8 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c.robot @@ -0,0 +1,8 @@ +*** Test Cases *** +Continue Example + ${text} = Set Variable ${EMPTY} + FOR ${var} IN one two three + Continue For Loop If '${var}' == 'two' + ${text} = Set Variable ${text}${var} + END + Should Be Equal ${text} onethree diff --git a/atest/fixtures/highlighting/samples/rfug/7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264.robot b/atest/fixtures/highlighting/samples/rfug/7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264.robot new file mode 100644 index 0000000..b8702a6 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264.robot @@ -0,0 +1,15 @@ +*** Test Cases *** # args, kwargs +Named-only only + Dynamic named=value # [], {named: value} + Dynamic named=value named2=2 # [], {named: value, named2: 2} + +Named-only with positional and varargs + Dynamic argument named=xxx # [argument], {named: xxx} + Dynamic a1 a2 named=3 # [a1, a2], {named: 3} + +Named-only with normal named + Dynamic named=foo positional=bar # [], {positional: bar, named: foo} + +Named-only with free named + Dynamic named=value foo=bar # [], {named: value, foo=bar} + Dynamic named2=2 third=3 named=1 # [], {named: 1, named2: 2, third: 3} diff --git a/atest/fixtures/highlighting/samples/rfug/7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8.robot b/atest/fixtures/highlighting/samples/rfug/7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8.robot new file mode 100644 index 0000000..6c6badc --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8.robot @@ -0,0 +1,10 @@ +*** Test Cases *** +String + ${string} = Set Variable abc + Log ${string.upper()} # Logs 'ABC' + Log ${string * 2} # Logs 'abcabc' + +Number + ${number} = Set Variable ${-2} + Log ${number * 10} # Logs -20 + Log ${number.__abs__()} # Logs 2 diff --git a/atest/fixtures/highlighting/samples/rfug/7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569.robot b/atest/fixtures/highlighting/samples/rfug/7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569.robot new file mode 100644 index 0000000..876686b --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569.robot @@ -0,0 +1,20 @@ +*** Settings *** +Documentation Example using the space separated plain text format. +Library OperatingSystem + +*** Variables *** +${MESSAGE} Hello, world! + +*** Test Cases *** +My Test + [Documentation] Example test + Log ${MESSAGE} + My Keyword /tmp + +Another Test + Should Be Equal ${MESSAGE} Hello, world! + +*** Keywords *** +My Keyword + [Arguments] ${path} + Directory Should Exist ${path} diff --git a/atest/fixtures/highlighting/samples/rfug/874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8.robot b/atest/fixtures/highlighting/samples/rfug/874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8.robot new file mode 100644 index 0000000..143f2fe --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + Keyword &{DICT} named=arg + Keyword positional @{LIST} &{DICT} + Keyword &{DICT} &{ANOTHER} &{ONE MORE} diff --git a/atest/fixtures/highlighting/samples/rfug/8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd.robot b/atest/fixtures/highlighting/samples/rfug/8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd.robot new file mode 100644 index 0000000..1537c6d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd.robot @@ -0,0 +1,10 @@ +*** Keywords *** +One Argument + [Arguments] ${arg_name} + Log Got argument ${arg_name} + +Three Arguments + [Arguments] ${arg1} ${arg2} ${arg3} + Log 1st argument: ${arg1} + Log 2nd argument: ${arg2} + Log 3rd argument: ${arg3} diff --git a/atest/fixtures/highlighting/samples/rfug/8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3.robot b/atest/fixtures/highlighting/samples/rfug/8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3.robot new file mode 100644 index 0000000..36456dd --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3.robot @@ -0,0 +1,13 @@ +*** Settings *** +Library Telnet prompt=$ default_log_level=DEBUG + +*** Test Cases *** +Example + Open connection 10.0.0.42 port=${PORT} alias=example + List files options=-lh + List files path=/tmp options=-l + +*** Keywords *** +List files + [Arguments] ${path}=. ${options}= + Execute command ls ${options} ${path} diff --git a/atest/fixtures/highlighting/samples/rfug/8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804.robot b/atest/fixtures/highlighting/samples/rfug/8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804.robot new file mode 100644 index 0000000..eb58b66 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804.robot @@ -0,0 +1,8 @@ +*** Test Cases *** +Exit Example + ${text} = Set Variable ${EMPTY} + FOR ${var} IN one two + Run Keyword If '${var}' == 'two' Exit For Loop + ${text} = Set Variable ${text}${var} + END + Should Be Equal ${text} one diff --git a/atest/fixtures/highlighting/samples/rfug/8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643.robot b/atest/fixtures/highlighting/samples/rfug/8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643.robot new file mode 100644 index 0000000..7ab2ac1 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643.robot @@ -0,0 +1,3 @@ +*** Test Cases *** +System properties + Log %{user.name} running tests on %{os.name} diff --git a/atest/fixtures/highlighting/samples/rfug/8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba.robot b/atest/fixtures/highlighting/samples/rfug/8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba.robot new file mode 100644 index 0000000..ef7d991 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba.robot @@ -0,0 +1,3 @@ +| *** Test Cases *** | | | | +| Escaping Pipe | ${file count} = | Execute Command | ls -1 *.txt \| wc -l | +| | Should Be Equal | ${file count} | 42 | diff --git a/atest/fixtures/highlighting/samples/rfug/8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181.robot b/atest/fixtures/highlighting/samples/rfug/8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181.robot new file mode 100644 index 0000000..1b36ec7 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181.robot @@ -0,0 +1,11 @@ +*** Test Cases *** +Three loop variables + FOR ${index} ${english} ${finnish} IN + ... 1 cat kissa + ... 2 dog koira + ... 3 horse hevonen + Add to dictionary ${english} ${finnish} ${index} + END + FOR ${name} ${id} IN @{EMPLOYERS} + Create ${name} ${id} + END diff --git a/atest/fixtures/highlighting/samples/rfug/90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5.robot b/atest/fixtures/highlighting/samples/rfug/90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5.robot new file mode 100644 index 0000000..801eafd --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5.robot @@ -0,0 +1,11 @@ +*** Test Cases *** +Example + I execute "ls" + I execute "ls" with "-lh" + +*** Keywords *** +I execute "${cmd}" + Run Process ${cmd} shell=True + +I execute "${cmd}" with "${opts}" + Run Process ${cmd} ${opts} shell=True diff --git a/atest/fixtures/highlighting/samples/rfug/90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6.robot b/atest/fixtures/highlighting/samples/rfug/90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6.robot new file mode 100644 index 0000000..42fd43f --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Objects + KW 1 ${STR} + KW 2 ${OBJ} + KW 3 I said "${STR}" + KW 4 You said "${OBJ}" diff --git a/atest/fixtures/highlighting/samples/rfug/92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2.robot b/atest/fixtures/highlighting/samples/rfug/92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2.robot new file mode 100644 index 0000000..eba778a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2.robot @@ -0,0 +1,4 @@ +*** Settings *** +Library Remote http://127.0.0.1:8270 WITH NAME Example1 +Library Remote http://example.com:8080/ WITH NAME Example2 +Library Remote http://10.0.0.2/example 1 minute WITH NAME Example3 diff --git a/atest/fixtures/highlighting/samples/rfug/93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a.robot b/atest/fixtures/highlighting/samples/rfug/93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a.robot new file mode 100644 index 0000000..4488354 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a.robot @@ -0,0 +1,7 @@ +*** Settings *** +Library MyLibrary + +*** Test Cases *** +My Test + Do Nothing + Hello world diff --git a/atest/fixtures/highlighting/samples/rfug/9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e.robot b/atest/fixtures/highlighting/samples/rfug/9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e.robot new file mode 100644 index 0000000..4557165 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e.robot @@ -0,0 +1,8 @@ +*** Test Cases *** +Template + [Template] Some keyword + @{EMPTY} + +Override + Set Global Variable @{LIST} @{EMPTY} + Set Suite Variable &{DICT} &{EMPTY} diff --git a/atest/fixtures/highlighting/samples/rfug/97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440.robot b/atest/fixtures/highlighting/samples/rfug/97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440.robot new file mode 100644 index 0000000..887dc52 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Environment variables + Log Current user: %{USER} + Run %{JAVA_HOME}${/}javac diff --git a/atest/fixtures/highlighting/samples/rfug/99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126.robot b/atest/fixtures/highlighting/samples/rfug/99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126.robot new file mode 100644 index 0000000..5d046db --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126.robot @@ -0,0 +1,13 @@ +*** Keywords *** +True examples + Should Be Equal ${x} ${y} Custom error values=True # Strings are generally true. + Should Be Equal ${x} ${y} Custom error values=yes # Same as the above. + Should Be Equal ${x} ${y} Custom error values=${TRUE} # Python `True` is true. + Should Be Equal ${x} ${y} Custom error values=${42} # Numbers other than 0 are true. + +False examples + Should Be Equal ${x} ${y} Custom error values=False # String `false` is false. + Should Be Equal ${x} ${y} Custom error values=no # Also string `no` is false. + Should Be Equal ${x} ${y} Custom error values=${EMPTY} # Empty string is false. + Should Be Equal ${x} ${y} Custom error values=${FALSE} # Python `False` is false. + Should Be Equal ${x} ${y} Custom error values=no values # Special false string in this context. diff --git a/atest/fixtures/highlighting/samples/rfug/a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd.robot b/atest/fixtures/highlighting/samples/rfug/a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd.robot new file mode 100644 index 0000000..790d583 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Constants + Login robot secret + +List Variable + Login @{USER} diff --git a/atest/fixtures/highlighting/samples/rfug/a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283.robot b/atest/fixtures/highlighting/samples/rfug/a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283.robot new file mode 100644 index 0000000..4130213 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283.robot @@ -0,0 +1,10 @@ +*** Test Cases *** +List variable item + Login ${USER}[0] ${USER}[1] + Title Should Be Welcome ${USER}[0]! + +Negative index + Log ${LIST}[-1] + +Index defined as variable + Log ${LIST}[${INDEX}] diff --git a/atest/fixtures/highlighting/samples/rfug/a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7.robot b/atest/fixtures/highlighting/samples/rfug/a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7.robot new file mode 100644 index 0000000..795fa49 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + Create Directory ${TEMPDIR}/stuff + Copy File ${CURDIR}/file.txt ${TEMPDIR}/stuff + No Operation diff --git a/atest/fixtures/highlighting/samples/rfug/a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9.robot b/atest/fixtures/highlighting/samples/rfug/a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9.robot new file mode 100644 index 0000000..ade66ab --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Example + Create Binary File ${CURDIR}${/}input.data Some text here${\n}on two lines + Set Environment Variable CLASSPATH ${TEMPDIR}${:}${CURDIR}${/}foo.jar diff --git a/atest/fixtures/highlighting/samples/rfug/aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4.robot b/atest/fixtures/highlighting/samples/rfug/aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4.robot new file mode 100644 index 0000000..feba0e0 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Valid Login + Given login page is open + When valid username and password are inserted + and credentials are submitted + Then welcome page should be open diff --git a/atest/fixtures/highlighting/samples/rfug/ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae.robot b/atest/fixtures/highlighting/samples/rfug/ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae.robot new file mode 100644 index 0000000..c314033 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae.robot @@ -0,0 +1,19 @@ +*** Test Cases *** # args, kwargs +No arguments + Dynamic # [], {} + +Positional only + Dynamic x # [x], {} + Dynamic x y # [x, y], {} + +Free named only + Dynamic x=1 # [], {x: 1} + Dynamic x=1 y=2 z=3 # [], {x: 1, y: 2, z: 3} + +Free named with positional + Dynamic x y=2 # [x], {y: 2} + Dynamic x y=2 z=3 # [x], {y: 2, z: 3} + +Free named with normal named + Dynamic a=1 x=1 # [], {a: 1, x: 1} + Dynamic b=2 x=1 a=1 # [], {a: 1, b: 2, x: 1} diff --git a/atest/fixtures/highlighting/samples/rfug/b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244.robot b/atest/fixtures/highlighting/samples/rfug/b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244.robot new file mode 100644 index 0000000..4dc16a2 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244.robot @@ -0,0 +1,3 @@ +*** Settings *** +Documentation An example test suite documentation with *some* _formatting_. +... See test documentation for more documentation examples. diff --git a/atest/fixtures/highlighting/samples/rfug/b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21.robot b/atest/fixtures/highlighting/samples/rfug/b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21.robot new file mode 100644 index 0000000..d5c3f0c --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21.robot @@ -0,0 +1,15 @@ +*** Variables *** +@{NUMBERS} ${1} ${2} ${5} +@{NAMES} one two five + +*** Test Cases *** +Iterate over two lists manually + ${length}= Get Length ${NUMBERS} + FOR ${idx} IN RANGE ${length} + Number Should Be Named ${NUMBERS}[${idx}] ${NAMES}[${idx}] + END + +For-in-zip + FOR ${number} ${name} IN ZIP ${NUMBERS} ${NAMES} + Number Should Be Named ${number} ${name} + END diff --git a/atest/fixtures/highlighting/samples/rfug/ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2.robot b/atest/fixtures/highlighting/samples/rfug/ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2.robot new file mode 100644 index 0000000..769d61a --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2.robot @@ -0,0 +1,21 @@ +*** Test Cases *** +Simple + [Documentation] Simple documentation + No Operation + +Formatting + [Documentation] *This is bold*, _this is italic_ and here is a link: http://robotframework.org + No Operation + +Variables + [Documentation] Executed at ${HOST} by ${USER} + No Operation + +Splitting + [Documentation] This documentation is split into multiple columns + No Operation + +Many lines + [Documentation] Here we have + ... an automatic newline + No Operation diff --git a/atest/fixtures/highlighting/samples/rfug/bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974.robot b/atest/fixtures/highlighting/samples/rfug/bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974.robot new file mode 100644 index 0000000..d9f2483 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974.robot @@ -0,0 +1,10 @@ +*** Test Cases *** +Varargs + Any Arguments + Any Arguments argument + Any Arguments arg 1 arg 2 arg 3 arg 4 arg 5 + One Required required arg + One Required required arg another arg yet another + Also Defaults required + Also Defaults required these two have defaults + Also Defaults 1 2 3 4 5 6 diff --git a/atest/fixtures/highlighting/samples/rfug/bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c.robot b/atest/fixtures/highlighting/samples/rfug/bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c.robot new file mode 100644 index 0000000..41b14f7 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Free Named Arguments + Run Process program.py arg1 arg2 cwd=/home/user + Run Process program.py argument shell=True env=${ENVIRON} diff --git a/atest/fixtures/highlighting/samples/rfug/c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79.robot b/atest/fixtures/highlighting/samples/rfug/c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79.robot new file mode 100644 index 0000000..f1a8b5f --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79.robot @@ -0,0 +1,4 @@ +*** Variables *** +${EXAMPLE} This value is joined together with a space +${MULTILINE} SEPARATOR=\n First line +... Second line Third line diff --git a/atest/fixtures/highlighting/samples/rfug/c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9.robot b/atest/fixtures/highlighting/samples/rfug/c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9.robot new file mode 100644 index 0000000..95b9f4b --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9.robot @@ -0,0 +1,11 @@ +*** Test Cases *** +Boolean + Set Status ${true} # Set Status gets Boolean true as an argument + Create Y something ${false} # Create Y gets a string and Boolean false + +None + Do XYZ ${None} # Do XYZ gets Python None as an argument + +Null + ${ret} = Get Value arg # Checking that Get Value returns Java null + Should Be Equal ${ret} ${null} diff --git a/atest/fixtures/highlighting/samples/rfug/c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b.robot b/atest/fixtures/highlighting/samples/rfug/c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b.robot new file mode 100644 index 0000000..91f1bf4 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b.robot @@ -0,0 +1,4 @@ +*** Test Cases *** +Example + Sort Words Foo bar baZ + Sort Words Foo bar baZ case_sensitive=True diff --git a/atest/fixtures/highlighting/samples/rfug/c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932.robot b/atest/fixtures/highlighting/samples/rfug/c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932.robot new file mode 100644 index 0000000..68e0fa9 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932.robot @@ -0,0 +1,9 @@ +*** Keywords *** +With Teardown + Do Something + [Teardown] Log keyword teardown + +Using variables + [Documentation] Teardown given as variable + Do Something + [Teardown] ${TEARDOWN} diff --git a/atest/fixtures/highlighting/samples/rfug/c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af.robot b/atest/fixtures/highlighting/samples/rfug/c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af.robot new file mode 100644 index 0000000..a0d0dfe --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af.robot @@ -0,0 +1,12 @@ +*** Test Cases *** +Valid Login + Open Login Page + Input Username demo + Input Password mode + Submit Credentials + Welcome Page Should Be Open + +Setting Variables + Do Something first argument second argument + ${value} = Get Some Value + Should Be Equal ${value} Expected value diff --git a/atest/fixtures/highlighting/samples/rfug/c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307.robot b/atest/fixtures/highlighting/samples/rfug/c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307.robot new file mode 100644 index 0000000..043e9df --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307.robot @@ -0,0 +1,9 @@ +*** Test Cases *** +Invalid Password + [Template] Login with invalid credentials should fail + invalid ${VALID PASSWORD} + ${VALID USER} invalid + invalid whatever + ${EMPTY} ${VALID PASSWORD} + ${VALID USER} ${EMPTY} + ${EMPTY} ${EMPTY} diff --git a/atest/fixtures/highlighting/samples/rfug/c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1.robot b/atest/fixtures/highlighting/samples/rfug/c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1.robot new file mode 100644 index 0000000..6f396f8 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1.robot @@ -0,0 +1,10 @@ +*** Settings *** +Test Template Login with invalid credentials should fail + +*** Test Cases *** USERNAME PASSWORD +Invalid User Name invalid ${VALID PASSWORD} +Invalid Password ${VALID USER} invalid +Invalid User Name and Password invalid invalid +Empty User Name ${EMPTY} ${VALID PASSWORD} +Empty Password ${VALID USER} ${EMPTY} +Empty User Name and Password ${EMPTY} ${EMPTY} diff --git a/atest/fixtures/highlighting/samples/rfug/c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826.robot b/atest/fixtures/highlighting/samples/rfug/c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826.robot new file mode 100644 index 0000000..1ad414e --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + Keyword @{LIST} more args + Keyword ${SCALAR} @{LIST} constant + Keyword @{LIST} @{ANOTHER} @{ONE MORE} diff --git a/atest/fixtures/highlighting/samples/rfug/c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b.robot b/atest/fixtures/highlighting/samples/rfug/c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b.robot new file mode 100644 index 0000000..2552109 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b.robot @@ -0,0 +1,16 @@ +| *** Settings *** | +| Documentation | Example using the pipe separated plain text format. +| Library | OperatingSystem + +| *** Variables *** | +| ${MESSAGE} | Hello, world! + +| *** Test Cases *** | | | +| My Test | [Documentation] | Example test | +| | Log | ${MESSAGE} | +| | My Keyword | /tmp | +| Another Test | Should Be Equal | ${MESSAGE} | Hello, world! + +| *** Keywords *** | | | +| My Keyword | [Arguments] | ${path} | +| | Directory Should Exist | ${path} | diff --git a/atest/fixtures/highlighting/samples/rfug/cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5.robot b/atest/fixtures/highlighting/samples/rfug/cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5.robot new file mode 100644 index 0000000..06a7171 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5.robot @@ -0,0 +1,3 @@ +*** Test Cases *** +Example + Two Arguments With Defaults arg2=new value diff --git a/atest/fixtures/highlighting/samples/rfug/cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7.robot b/atest/fixtures/highlighting/samples/rfug/cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7.robot new file mode 100644 index 0000000..66d6dce --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7.robot @@ -0,0 +1,8 @@ +*** Keywords *** +With Varargs + [Arguments] @{varargs} ${named} + Log Many @{varargs} ${named} + +Without Varargs + [Arguments] @{} ${first} ${second} + Log Many ${first} ${second} diff --git a/atest/fixtures/highlighting/samples/rfug/cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad.robot b/atest/fixtures/highlighting/samples/rfug/cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad.robot new file mode 100644 index 0000000..8933b8e --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad.robot @@ -0,0 +1,4 @@ +*** Variables *** +${NAME} Robot Framework +${VERSION} 2.0 +${ROBOT} ${NAME} ${VERSION} diff --git a/atest/fixtures/highlighting/samples/rfug/d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272.robot b/atest/fixtures/highlighting/samples/rfug/d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272.robot new file mode 100644 index 0000000..728c39f --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272.robot @@ -0,0 +1,13 @@ +*** Test Cases *** +Example + FOR ${animal} IN cat dog + Log ${animal} + Log 2nd keyword + END + Log Outside loop + +Second Example + FOR ${var} IN one two ${3} four ${five} + ... kuusi 7 eight nine ${last} + Log ${var} + END diff --git a/atest/fixtures/highlighting/samples/rfug/d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1.robot b/atest/fixtures/highlighting/samples/rfug/d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1.robot new file mode 100644 index 0000000..e221233 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1.robot @@ -0,0 +1,10 @@ +*** Test Cases *** +Varargs with user keywords + Any Number Of Arguments + Any Number Of Arguments arg + Any Number Of Arguments arg1 arg2 arg3 arg4 + One Or More Arguments required + One Or More Arguments arg1 arg2 arg3 arg4 + Required, Default, Varargs required + Required, Default, Varargs required optional + Required, Default, Varargs arg1 arg2 arg3 arg4 arg5 diff --git a/atest/fixtures/highlighting/samples/rfug/d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777.robot b/atest/fixtures/highlighting/samples/rfug/d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777.robot new file mode 100644 index 0000000..f59ef2d --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777.robot @@ -0,0 +1,9 @@ +*** Variables *** +${VARIABLE} An example string +${ANOTHER VARIABLE} This is pretty easy! +${INTEGER} ${42} +@{STRINGS} one two kolme four +@{NUMBERS} ${1} ${INTEGER} ${3.14} +&{MAPPING} one=${1} two=${2} three=${3} +@{ANIMALS} cat dog +&{FINNISH} cat=kissa dog=koira diff --git a/atest/fixtures/highlighting/samples/rfug/d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa.robot b/atest/fixtures/highlighting/samples/rfug/d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa.robot new file mode 100644 index 0000000..600a455 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa.robot @@ -0,0 +1,18 @@ +*** Test Cases *** +One space + Should Be Equal ${SPACE} \ \ + +Four spaces + Should Be Equal ${SPACE * 4} \ \ \ \ \ + +Ten spaces + Should Be Equal ${SPACE * 10} \ \ \ \ \ \ \ \ \ \ \ + +Quoted space + Should Be Equal "${SPACE}" " " + +Quoted spaces + Should Be Equal "${SPACE * 2}" " \ " + +Empty + Should Be Equal ${EMPTY} \ diff --git a/atest/fixtures/highlighting/samples/rfug/da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47.robot b/atest/fixtures/highlighting/samples/rfug/da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47.robot new file mode 100644 index 0000000..6d921a7 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47.robot @@ -0,0 +1,19 @@ +*** Settings *** +Documentation This is documentation for this test suite. +... This kind of documentation can often be get quite long... +Default Tags default tag 1 default tag 2 default tag 3 +... default tag 4 default tag 5 + +*** Variable *** +@{LIST} this list is quite long and +... items in it could also be long + +*** Test Cases *** +Example + [Tags] you probably do not have this many + ... tags in real life + Do X first argument second argument third argument + ... fourth argument fifth argument sixth argument + ${var} = Get X + ... first argument passed to this keyword is pretty long + ... second argument passed to this keyword is long too diff --git a/atest/fixtures/highlighting/samples/rfug/dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17.robot b/atest/fixtures/highlighting/samples/rfug/dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17.robot new file mode 100644 index 0000000..a373804 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17.robot @@ -0,0 +1,6 @@ +| *** Test Cases *** +| Example +| | :FOR | ${animal} | IN | cat | dog | +| | | Log | ${animal} | +| | | Log | 2nd keyword | +| | Log | Outside loop | diff --git a/atest/fixtures/highlighting/samples/rfug/dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110.robot b/atest/fixtures/highlighting/samples/rfug/dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110.robot new file mode 100644 index 0000000..7cc82ab --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110.robot @@ -0,0 +1,5 @@ +*** Settings *** +Variables myvariables.py +Variables ../data/variables.py +Variables ${RESOURCES}/common.py +Variables taking_arguments.py arg1 ${ARG2} diff --git a/atest/fixtures/highlighting/samples/rfug/defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2.robot b/atest/fixtures/highlighting/samples/rfug/defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2.robot new file mode 100644 index 0000000..6fe06af --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2.robot @@ -0,0 +1,8 @@ +*** Settings *** +Test Template Example keyword + +*** Test Cases *** +Templated test case + first round 1 first round 2 + second round 1 second round 2 + third round 1 third round 2 diff --git a/atest/fixtures/highlighting/samples/rfug/e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5.robot b/atest/fixtures/highlighting/samples/rfug/e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5.robot new file mode 100644 index 0000000..b642d00 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5.robot @@ -0,0 +1,8 @@ +*** Test Cases *** +Example + Run Program shell=True # This will not come as a named argument to Run Process + +*** Keywords *** +Run Program + [Arguments] @{args} + Run Process program.py @{args} # Named arguments are not recognized from inside @{args} diff --git a/atest/fixtures/highlighting/samples/rfug/e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5.robot b/atest/fixtures/highlighting/samples/rfug/e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5.robot new file mode 100644 index 0000000..dc4e750 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5.robot @@ -0,0 +1,5 @@ +*** Test Cases *** +Example + Do Something + Import Library MyLibrary arg1 arg2 + KW From MyLibrary diff --git a/atest/fixtures/highlighting/samples/rfug/e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35.robot b/atest/fixtures/highlighting/samples/rfug/e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35.robot new file mode 100644 index 0000000..0ad50da --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35.robot @@ -0,0 +1,28 @@ +*** Test Cases *** +One Return Value + ${ret} = Return One Value argument + Some Keyword ${ret} + +Advanced + @{list} = Create List foo baz + ${index} = Find Index baz @{list} + Should Be Equal ${index} ${1} + ${index} = Find Index non existing @{list} + Should Be Equal ${index} ${-1} + +*** Keywords *** +Return One Value + [Arguments] ${arg} + Do Something ${arg} + ${value} = Get Some Value + Return From Keyword ${value} + Fail This is not executed + +Find Index + [Arguments] ${element} @{items} + ${index} = Set Variable ${0} + FOR ${item} IN @{items} + Return From Keyword If '${item}' == '${element}' ${index} + ${index} = Set Variable ${index + 1} + END + Return From Keyword ${-1} # Could also use [Return] diff --git a/atest/fixtures/highlighting/samples/rfug/e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021.robot b/atest/fixtures/highlighting/samples/rfug/e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021.robot new file mode 100644 index 0000000..fc430cc --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021.robot @@ -0,0 +1,18 @@ +*** Keywords *** +Timed Keyword + [Documentation] Set only the timeout value and not the custom message. + [Timeout] 1 minute 42 seconds + Do Something + Do Something Else + +Wrapper With Timeout + [Arguments] @{args} + [Documentation] This keyword is a wrapper that adds a timeout to another keyword. + [Timeout] 2 minutes Original Keyword didn't finish in 2 minutes + Original Keyword @{args} + +Wrapper With Customizable Timeout + [Arguments] ${timeout} @{args} + [Documentation] Same as the above but timeout given as an argument. + [Timeout] ${timeout} + Original Keyword @{args} diff --git a/atest/fixtures/highlighting/samples/rfug/e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466.robot b/atest/fixtures/highlighting/samples/rfug/e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466.robot new file mode 100644 index 0000000..b6c9615 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466.robot @@ -0,0 +1,8 @@ +*** Settings *** +Library ExampleLibrary @{LIB ARGS} # This works +Library ${LIBRARY} @{LIB ARGS} # This works +Library @{LIBRARY AND ARGS} # This does not work +Suite Setup Some Keyword @{KW ARGS} # This works +Suite Setup ${KEYWORD} @{KW ARGS} # This works +Suite Setup @{KEYWORD AND ARGS} # This does not work +Default Tags @{TAGS} # This works diff --git a/atest/fixtures/highlighting/samples/rfug/e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181.robot b/atest/fixtures/highlighting/samples/rfug/e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181.robot new file mode 100644 index 0000000..af0a20b --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181.robot @@ -0,0 +1,6 @@ +*** Test Cases *** +Example + &{dict} = Create Dictionary first=1 second=${2} ${3}=third + Length Should Be ${dict} 3 + Do Something &{dict} + Log ${dict.first} diff --git a/atest/fixtures/highlighting/samples/rfug/e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90.robot b/atest/fixtures/highlighting/samples/rfug/e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90.robot new file mode 100644 index 0000000..9ebb321 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90.robot @@ -0,0 +1,3 @@ +*** Variables *** +${NAME} = Robot Framework +${VERSION} = 2.0 diff --git a/atest/fixtures/highlighting/samples/rfug/e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d.robot b/atest/fixtures/highlighting/samples/rfug/e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d.robot new file mode 100644 index 0000000..41f7f28 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d.robot @@ -0,0 +1,3 @@ +*** Settings *** +Library MyLibrary 10.0.0.1 8080 +Library AnotherLib ${VAR} diff --git a/atest/fixtures/highlighting/samples/rfug/eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907.robot b/atest/fixtures/highlighting/samples/rfug/eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907.robot new file mode 100644 index 0000000..e92215e --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907.robot @@ -0,0 +1,9 @@ +*** Keywords *** +Settings tags using separate setting + [Tags] my fine tags + No Operation + +Settings tags using documentation + [Documentation] I have documentation. And my documentation has tags. + ... Tags: my, fine, tags + No Operation diff --git a/atest/fixtures/highlighting/samples/rfug/ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48.robot b/atest/fixtures/highlighting/samples/rfug/ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48.robot new file mode 100644 index 0000000..ef10df4 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48.robot @@ -0,0 +1,8 @@ +*** Settings *** +Library SeleniumLibrary +Library SeLibExtensions + +*** Test Cases *** +Example + Open Browser http://example # SeleniumLibrary + Title Should Start With Example # SeLibExtensions diff --git a/atest/fixtures/highlighting/samples/rfug/f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704.robot b/atest/fixtures/highlighting/samples/rfug/f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704.robot new file mode 100644 index 0000000..c0964f6 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704.robot @@ -0,0 +1,4 @@ +*** Settings *** +Metadata Version 2.0 +Metadata More Info For more information about *Robot Framework* see http://robotframework.org +Metadata Executed At ${HOST} diff --git a/atest/fixtures/highlighting/samples/rfug/f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8.robot b/atest/fixtures/highlighting/samples/rfug/f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8.robot new file mode 100644 index 0000000..fd62865 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8.robot @@ -0,0 +1,3 @@ +*** Test Cases *** +My Test + Add 7 copies of coffee to cart diff --git a/atest/fixtures/highlighting/samples/rfug/fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4.robot b/atest/fixtures/highlighting/samples/rfug/fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4.robot new file mode 100644 index 0000000..9c5ee99 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4.robot @@ -0,0 +1,9 @@ +*** Settings *** +Library SomeLibrary localhost 1234 WITH NAME LocalLib +Library SomeLibrary server.domain 8080 WITH NAME RemoteLib + +*** Test Cases *** +My Test + LocalLib.Some Keyword some arg second arg + RemoteLib.Some Keyword another arg whatever + LocalLib.Another Keyword diff --git a/atest/fixtures/highlighting/samples/rfug/fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486.robot b/atest/fixtures/highlighting/samples/rfug/fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486.robot new file mode 100644 index 0000000..1631a06 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486.robot @@ -0,0 +1,11 @@ +*** Test Cases *** +Returning multiple values + ${var1} ${var2} = Return Two Values + Should Be Equal ${var1} first value + Should Be Equal ${var2} second value + @{list} = Return Two Values + Should Be Equal @{list}[0] first value + Should Be Equal @{list}[1] second value + ${s1} ${s2} @{li} = Return Multiple Values + Should Be Equal ${s1} ${s2} a list + Should Be Equal @{li}[0] @{li}[1] of strings diff --git a/atest/fixtures/highlighting/samples/rfug/fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b.robot b/atest/fixtures/highlighting/samples/rfug/fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b.robot new file mode 100644 index 0000000..b749f93 --- /dev/null +++ b/atest/fixtures/highlighting/samples/rfug/fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b.robot @@ -0,0 +1,4 @@ +*** Settings *** +Resource example.resource +Resource ../data/resources.robot +Resource ${RESOURCES}/common.resource diff --git a/atest/fixtures/highlighting/tokens/basic/00_test_case.tokens b/atest/fixtures/highlighting/tokens/basic/00_test_case.tokens new file mode 100644 index 0000000..b3342bd --- /dev/null +++ b/atest/fixtures/highlighting/tokens/basic/00_test_case.tokens @@ -0,0 +1,11 @@ +header link +header string +tab +keyword +string +string +tab +tab +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/loops/old_style.tokens b/atest/fixtures/highlighting/tokens/loops/old_style.tokens new file mode 100644 index 0000000..45fadd4 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/loops/old_style.tokens @@ -0,0 +1,68 @@ +header link +def +def +def +variable-2 +def +keyword +string +string +string +variable-2 +def +def +keyword +string +string +atom +variable-2 +variable-2 +atom +string +string +bracket +keyword +variable-2 +bracket +keyword +string +string +attribute +variable-2 +operator +property +variable-2 +bracket +number +bracket +variable-2 +number +variable-2 +bracket +attribute +operator +variable-2 +string +bracket +keyword +string +bracket +variable-2 +operator +keyword +variable-2 +keyword +string +string +def +def +def +def +keyword +string +string +variable-2 +string +header link +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a.tokens b/atest/fixtures/highlighting/tokens/rfug/0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a.tokens new file mode 100644 index 0000000..b6c9627 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/0121d11dce72f3f16f8d2f274d534f5086ee5373f9ffd8b38f6f52dfa55d7e2a.tokens @@ -0,0 +1,29 @@ +header link +header string +keyword +keyword +string +string +attribute +operator +string +keyword +keyword +string +attribute +operator +string +attribute +operator +variable-2 +header link +def +def +meta +variable-2 +variable-2 +keyword +keyword +string +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1.tokens b/atest/fixtures/highlighting/tokens/rfug/02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1.tokens new file mode 100644 index 0000000..541ac10 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/02373c48f779c78c85002af6741b00f9e5097c4df40c280c2cb619bff8766ae1.tokens @@ -0,0 +1,12 @@ +header link +header string +keyword +attribute +operator +string +attribute +operator +string +header string +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404.tokens b/atest/fixtures/highlighting/tokens/rfug/04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404.tokens new file mode 100644 index 0000000..4887578 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/04923f3ba2cf4a5c0e4f07bf5422da5e064aba1491996f897c0b1f7919cf6404.tokens @@ -0,0 +1,39 @@ +header link +header string +keyword +variable-2 +bracket +number +string +bracket +header string +keyword +variable-2 +bracket +string +number +bracket +header string +keyword +variable-2 +bracket +number +string +number +bracket +header string +keyword +variable-2 +bracket +string +number +bracket +keyword +variable-2 +bracket +number +string +number +string +number +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271.tokens b/atest/fixtures/highlighting/tokens/rfug/0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271.tokens new file mode 100644 index 0000000..2243b1e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/0592b828e07e0283a522ac9829ba7ca3f6fdb4daa808894c222fecae0cd27271.tokens @@ -0,0 +1,14 @@ +header link +header string +meta +string +string +string +bracket +meta +bracket +tag +tag +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4.tokens b/atest/fixtures/highlighting/tokens/rfug/05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4.tokens new file mode 100644 index 0000000..568d03b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/05d4af64db1a38b98851b62f82a9301e843f661f7850981bc1b535ccf4c1a8c4.tokens @@ -0,0 +1,15 @@ +header link +def +variable-2 +def +def +keyword +keyword +string +string +keyword +keyword +keyword +keyword +string +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18.tokens b/atest/fixtures/highlighting/tokens/rfug/05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18.tokens new file mode 100644 index 0000000..bbfa444 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/05f5d8372d56c856d474cc82abdc00317867ea54ad3adfe9cf6ab18dd30d0c18.tokens @@ -0,0 +1,24 @@ +header link +header string +keyword +keyword +keyword +variable-2 +bracket +number +bracket +string +bracket +string +keyword +keyword +keyword +variable-2 +bracket +number +bracket +string +bracket +variable-2 +number +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7.tokens b/atest/fixtures/highlighting/tokens/rfug/06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7.tokens new file mode 100644 index 0000000..85a9f23 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/06b24460be2e6ff2ada5c7550b03c14a42bc4ee410f8203b8b24dff53f722ee7.tokens @@ -0,0 +1,14 @@ +header link +variable-2 +string +variable-2 +string +header link +header string +variable-2 +operator +keyword +keyword +keyword +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139.tokens b/atest/fixtures/highlighting/tokens/rfug/08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139.tokens new file mode 100644 index 0000000..3a12250 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/08ef901bb6046ea0e59b3135401bc5e1928fa3ff6b390bfb059787564e08c139.tokens @@ -0,0 +1,11 @@ +header link +meta +string +meta +string +meta +string +string +string +meta +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14.tokens b/atest/fixtures/highlighting/tokens/rfug/092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14.tokens new file mode 100644 index 0000000..6cf7c53 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/092e8d511af68be2a0a286be12b9a8048ab6cbc76c0c17aae6deb2de4a202e14.tokens @@ -0,0 +1,56 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +header string +bracket +meta +bracket +keyword +keyword +keyword +variable-2 +keyword +keyword +variable-2 +keyword +keyword +keyword +string +keyword +keyword +keyword +string +header link +def +def +def +variable-2 +def +def +variable-2 +variable-2 +operator +keyword +variable-2 +keyword +keyword +keyword +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4.tokens b/atest/fixtures/highlighting/tokens/rfug/0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4.tokens new file mode 100644 index 0000000..c309ea3 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/0a97471622cafaedc59fd034eb0c484968f7c255f1b444c5f8d6038964f20df4.tokens @@ -0,0 +1,61 @@ +header link +meta +string +string +string +string +string +bracket +string +string +string +string +string +string +string +string +string +string +string +string +string +string +header link +def +def +meta +string +string +keyword +keyword +def +def +meta +variable-2 +meta +string +string +string +string +string strong +string +string +bracket +bracket +string +bracket +bracket +string +string +bracket +string +bracket +bracket +bracket +string +string +bracket +string +bracket +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08.tokens b/atest/fixtures/highlighting/tokens/rfug/0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08.tokens new file mode 100644 index 0000000..97696de --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/0aab0d1fa74549494ee3e3c84ddece2f5d7e6680c2988663e098a18b3e07cd08.tokens @@ -0,0 +1,45 @@ +header link +def +def +def +def +meta +variable-2 +keyword +keyword +variable-2 +def +def +def +def +meta +variable-2 +variable-2 +keyword +keyword +variable-2 +variable-2 +def +def +def +meta +variable-2 +variable-2 +operator +string +variable-2 +keyword +string +variable-2 +keyword +string +variable-2 +keyword +string +atom +variable-2 +atom +variable-2 +keyword +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a.tokens b/atest/fixtures/highlighting/tokens/rfug/0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a.tokens new file mode 100644 index 0000000..e9a5572 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/0b24694ed1b1f98493b33555347be15188b01a8b50e95908f62eb1e71cb2975a.tokens @@ -0,0 +1,29 @@ +header link +header string +keyword +keyword +string +string +comment +keyword +keyword +string +attribute +operator +string +comment +header link +def +def +meta +variable-2 +variable-2 +operator +string +keyword +keyword +string +variable-2 +attribute +operator +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69.tokens b/atest/fixtures/highlighting/tokens/rfug/1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69.tokens new file mode 100644 index 0000000..6cbcb5a --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/1086595c60f3ffa2007ec24cb12a5d03c3b781e0cac0add7ecf98aa9390d2c69.tokens @@ -0,0 +1,30 @@ +header link +header string +variable-2 +bracket +variable-2 +bracket +variable-2 +operator +keyword +keyword +variable-2 +bracket +variable-2 +operator +keyword +keyword +variable-2 +bracket +variable-2 +operator +keyword +keyword +variable-2 +bracket +variable-2 +bracket +variable-2 +operator +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4.tokens b/atest/fixtures/highlighting/tokens/rfug/10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4.tokens new file mode 100644 index 0000000..3651741 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/10e560062d3cc3a4936b9d0feb6628087863a9da53e281985d7ef58d2467bda4.tokens @@ -0,0 +1,26 @@ +header link +meta +string +string +meta +keyword +keyword +variable-2 +meta +tag +meta +string +header link +variable-2 +string +string +header link +def +def +meta +variable-2 +keyword +keyword +variable-2 +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833.tokens b/atest/fixtures/highlighting/tokens/rfug/12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833.tokens new file mode 100644 index 0000000..2cd0a63 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/12bc8b58d19da54d10464c7107a68802e9c4912343ce983b8eaa2d10b0099833.tokens @@ -0,0 +1,93 @@ +header link +meta +string +string +string +string +string +string +string +string +string +string +string +string +string +string +string +string +meta +tag +tag +tag +tag +tag +tag +tag +header link +variable-2 +string +string +string +string +string +string +string +string +string +string +string +string +string +header link +header string +bracket +meta +bracket +tag +tag +tag +tag +tag +tag +tag +tag +tag +tag +tag +keyword +keyword +string +string +string +string +string +string +string +string +string +string +string +string +variable-2 +operator +keyword +keyword +string +string +string +string +string +string +string +string +string +string +string +string +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b.tokens b/atest/fixtures/highlighting/tokens/rfug/153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b.tokens new file mode 100644 index 0000000..4ffd30e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/153a7e6614945b59ba4e59d9edc514e15f4cc6d92e383e709d2b40e4ddee787b.tokens @@ -0,0 +1,18 @@ +header link +meta +string +string +string +string +string +string +string +meta +string +string +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8.tokens b/atest/fixtures/highlighting/tokens/rfug/1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8.tokens new file mode 100644 index 0000000..a309302 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/1741f94ea882100c7f6b2b0b496b4a637973fae1438d0fce3dcf4792b175cef8.tokens @@ -0,0 +1,38 @@ +header link +header string +keyword +keyword +keyword +variable-2 +number +variable-2 +variable-2 +number +variable-2 +keyword +keyword +keyword +variable-2 +number +variable-2 +variable-2 +number +variable-2 +keyword +keyword +keyword +variable-2 +number +variable-2 +variable-2 +number +variable-2 +keyword +keyword +keyword +variable-2 +number +variable-2 +variable-2 +number +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64.tokens b/atest/fixtures/highlighting/tokens/rfug/1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64.tokens new file mode 100644 index 0000000..c66a3de --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/1e8269dbd5a257712003467240e33b0632e174f69162d8b0fb1d9de784c68e64.tokens @@ -0,0 +1,17 @@ +header link +header string +keyword +keyword +attribute +operator +string +comment +keyword +keyword +attribute +operator +string +attribute +operator +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1.tokens b/atest/fixtures/highlighting/tokens/rfug/1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1.tokens new file mode 100644 index 0000000..ac8c1ab --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/1e8353f856ca260e56f3050614e1dfe55cb5ff456a8680c8dfb2656e31a410f1.tokens @@ -0,0 +1,11 @@ +header link +meta +string +variable-2 +meta +keyword +keyword +variable-2 +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac.tokens b/atest/fixtures/highlighting/tokens/rfug/20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac.tokens new file mode 100644 index 0000000..a9f00fb --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/20048739e7b3b3c944c35d0bc955912fc2363c7cc1c2e5fb594410e0d15b65ac.tokens @@ -0,0 +1,54 @@ +header link +variable-2 +number +variable-2 +attribute +operator +string +attribute +operator +string +attribute +operator +string +variable-2 +number +variable-2 +attribute +operator +string +attribute +operator +string +attribute +operator +string +variable-2 +attribute +operator +string +attribute +operator +variable-2 +number +variable-2 +variable-2 +number +variable-2 +operator +string +variable-2 +variable-2 +attribute +operator +string +attribute +operator +bracket +operator +string +attribute +operator +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766.tokens b/atest/fixtures/highlighting/tokens/rfug/20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766.tokens new file mode 100644 index 0000000..6ee67a1 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/20cd40ec5b88bbf6580d05322f9ec2c64625c37083c087bfa24d3ae4ccfdc766.tokens @@ -0,0 +1,20 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61.tokens b/atest/fixtures/highlighting/tokens/rfug/20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61.tokens new file mode 100644 index 0000000..787700d --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/20df04918baac64af57717b43e0fbfd87689b08217ff180d1a09cfa3dd497e61.tokens @@ -0,0 +1,24 @@ +header link +header string +keyword +keyword +keyword +keyword +string +keyword +keyword +string +string +keyword +keyword +string +string +string +keyword +keyword +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5.tokens b/atest/fixtures/highlighting/tokens/rfug/20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5.tokens new file mode 100644 index 0000000..2407c4d --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/20fc6f917a687c807d152c6a14042af0a36e894e08a1116125b962ed54ce5ea5.tokens @@ -0,0 +1,38 @@ +header link +variable-2 +string +string +string +header link +header string +variable-2 +operator +keyword +keyword +string +atom +variable-2 +atom +variable-2 +variable-2 +operator +keyword +variable-2 +string +string +keyword +keyword +variable-2 +variable-2 +atom +header string +atom +variable-2 +variable-2 +atom +variable-2 +keyword +keyword +variable-2 +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e.tokens b/atest/fixtures/highlighting/tokens/rfug/212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e.tokens new file mode 100644 index 0000000..d66c2cb --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/212879366507eb8c8c3509b446f156ca2384014a22d05a7d5f988aee5da9c37e.tokens @@ -0,0 +1,15 @@ +header link +header string +keyword +string +keyword +string +string +header string +keyword +variable-2 +keyword +variable-2 +string +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b.tokens b/atest/fixtures/highlighting/tokens/rfug/22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b.tokens new file mode 100644 index 0000000..fa10a1e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/22497e75fa6c14bfb4ad25da9d15c9182c8e755855891a5b00f6fb029a53e61b.tokens @@ -0,0 +1,67 @@ +header link +header string +keyword +keyword +string +string +comment +header string +keyword +keyword +attribute +operator +string +comment +header string +keyword +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +comment +keyword +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +comment +header string +keyword +keyword +string +string +attribute +operator +string +comment +header string +keyword +keyword +attribute +operator +string +attribute +operator +string +comment +keyword +keyword +attribute +operator +string +attribute +operator +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa.tokens b/atest/fixtures/highlighting/tokens/rfug/29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa.tokens new file mode 100644 index 0000000..129fbae --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/29afa4cdff55b252c04d2432500c012f95d5e1b3a34efcfbe5377e463ce464fa.tokens @@ -0,0 +1,73 @@ +bracket +header link +bracket +keyword +keyword +bracket +keyword +bracket +variable-2 +bracket +string +bracket +string +bracket +string +bracket +bracket +string +bracket +variable-2 +bracket +bracket +string +bracket +string +string +bracket +bracket +keyword +bracket +bracket +bracket +keyword +bracket +string +string +bracket +bracket +bracket +keyword +keyword +keyword +keyword +bracket +keyword +bracket +variable-2 +bracket +string +bracket +string +bracket +string +bracket +bracket +bracket +string +bracket +variable-2 +bracket +bracket +bracket +string +bracket +string +string +bracket +bracket +keyword +bracket +string +string +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0.tokens b/atest/fixtures/highlighting/tokens/rfug/2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0.tokens new file mode 100644 index 0000000..fe85c9c --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/2c42f0b3e12f62dcadafeadeb0d11c098a5293f528df5335f8260b77109e65c0.tokens @@ -0,0 +1,98 @@ +header link +meta +string +string +header link +header string +meta +string +string +string +string +string +string +string +keyword +keyword +string +header string +meta +string +string +string +string +string +string +meta +string +keyword +keyword +string +header string +meta +string +string +string +string +string +string +meta +string +string +string +string +string +string +string +keyword +keyword +string +header string +meta +string +string +string +string +string +string +string +meta +variable-2 +keyword +keyword +string +header string +meta +string +string +string +string +string +string +string +string +string +string +string +string +meta +keyword +keyword +string +header string +meta +string +string +string +string +string +string +string +string +string +string +meta +string +keyword +keyword +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9.tokens b/atest/fixtures/highlighting/tokens/rfug/2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9.tokens new file mode 100644 index 0000000..c0a8218 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/2c6668edd2895cdc20a9b6dc72d211c4d9d0e77c0a68920ce109b6d8918c26a9.tokens @@ -0,0 +1,17 @@ +header link +header string +variable-2 +operator +keyword +keyword +string +string +string +keyword +keyword +keyword +variable-2 +string +keyword +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005.tokens b/atest/fixtures/highlighting/tokens/rfug/2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005.tokens new file mode 100644 index 0000000..967277e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/2f32350c830d580b80de7c91b064fe7dfa1b85d9ab2b19ebe334ecedd3269005.tokens @@ -0,0 +1,56 @@ +header link +header string +variable-2 +operator +keyword +keyword +keyword +string +keyword +keyword +variable-2 +header string +variable-2 +bracket +variable-2 +bracket +variable-2 +operator +keyword +keyword +keyword +variable-2 +operator +keyword +keyword +keyword +variable-2 +bracket +variable-2 +operator +keyword +keyword +keyword +header link +def +def +def +meta +variable-2 +keyword +keyword +variable-2 +variable-2 +operator +keyword +keyword +keyword +meta +variable-2 +def +def +def +meta +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f.tokens b/atest/fixtures/highlighting/tokens/rfug/30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f.tokens new file mode 100644 index 0000000..ca75c75 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/30d47f677d803f0d674302e9f409d930084a538133e5c7da5ca9597577eb476f.tokens @@ -0,0 +1,23 @@ +header link +def +def +meta +variable-2 +variable-2 +variable-2 +keyword +keyword +variable-2 +variable-2 +def +def +def +meta +variable-2 +variable-2 +variable-2 +keyword +keyword +variable-2 +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7.tokens b/atest/fixtures/highlighting/tokens/rfug/341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7.tokens new file mode 100644 index 0000000..c563db8 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/341d95770204f76464bcb48e9d022bfe8bc5fd0775c634c648e21d2e2e1c19b7.tokens @@ -0,0 +1,59 @@ +header link +meta +string +string +string +string +meta +string +meta +variable-2 +string +header link +variable-2 +string +variable-2 +string +variable-2 +string +variable-2 +string +variable-2 +string +variable-2 +string +header link +def +def +def +meta +string +string +string +string +string +keyword +keyword +variable-2 +variable-2 +keyword +keyword +keyword +string +string +def +def +meta +variable-2 +keyword +keyword +string +variable-2 +def +def +meta +variable-2 +keyword +keyword +string +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db.tokens b/atest/fixtures/highlighting/tokens/rfug/34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db.tokens new file mode 100644 index 0000000..f522d80 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/34f6accdeebdb7202794c428a23b952f3be36437dffb02ae39814e88ddfcb7db.tokens @@ -0,0 +1,12 @@ +header link +meta +string +meta +string +meta +string +string +string +meta +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b.tokens b/atest/fixtures/highlighting/tokens/rfug/388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b.tokens new file mode 100644 index 0000000..5616dfa --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/388c8b54ac98242cee4261f62fe4acf333f0ac5c2ca76d41c2fd1f4ed71ec34b.tokens @@ -0,0 +1,52 @@ +header link +header string +keyword +variable-2 +bracket +string +bracket +variable-2 +bracket +string +bracket +keyword +keyword +keyword +string +variable-2 +bracket +string +bracket +string +header string +keyword +keyword +variable-2 +bracket +variable-2 +bracket +variable-2 +bracket +variable-2 +number +variable-2 +bracket +header string +keyword +variable-2 +operator +property +variable-2 +variable-2 +operator +property +variable-2 +keyword +keyword +keyword +string +variable-2 +operator +property +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b.tokens b/atest/fixtures/highlighting/tokens/rfug/39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b.tokens new file mode 100644 index 0000000..70a7af2 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/39cad635de20b26a82df7d01b53e6761f66dd37d13dd45afc52911b4cb0d125b.tokens @@ -0,0 +1,40 @@ +header link +string +string +meta +string +string +string +string +string +string +string +keyword +keyword +string +string +meta +string +string +bracket +string +string +string +string +string +keyword +keyword +string +string +meta +string +string +bracket +string +string +string +bracket +string +string +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d.tokens b/atest/fixtures/highlighting/tokens/rfug/3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d.tokens new file mode 100644 index 0000000..2b4806e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3aa3b4570c5ba1f80ca037585fd9b0db072fcee39904a8ea550857e45054455d.tokens @@ -0,0 +1,72 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +header link +def +def +def +variable-2 +operator +string-2 +variable-2 +def +keyword +keyword +variable-2 +attribute +operator +string +def +def +def +variable-2 +def +def +def +variable-2 +def +keyword +keyword +variable-2 +variable-2 +attribute +operator +string +def +def +variable-2 +operator +string-2 +variable-2 +keyword +variable-2 +variable-2 +variable-2 +def +def +variable-2 +operator +string-2 +variable-2 +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11.tokens b/atest/fixtures/highlighting/tokens/rfug/3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11.tokens new file mode 100644 index 0000000..d366af8 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3d958a4ca736e539b8bf1ef949794659715bd81c247a9af0732b1578de94de11.tokens @@ -0,0 +1,20 @@ +header link +meta +bracket +string +string +string +string +string +string +bracket +bracket +string +string +string +string +string +bracket +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510.tokens b/atest/fixtures/highlighting/tokens/rfug/3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510.tokens new file mode 100644 index 0000000..7e470d0 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3d98df5a260675e328661d653b10c7c0133b7911d606d86a1db43b1a35af9510.tokens @@ -0,0 +1,102 @@ +header link +header string +meta +string +string +string +string +string +string +string +atom +variable-2 +atom +string +keyword +variable-2 +atom +header string +meta +string +string +string +string +string +string +string +atom +variable-2 +atom +string +string +keyword +variable-2 +atom +header string +meta +string +string +string +string +string +string +string +atom +variable-2 +atom +string +string +string +keyword +variable-2 +atom +header string +meta +string +string +string +string +string +string +string +atom +variable-2 +atom +string +string +string +keyword +variable-2 +atom +header string +meta +string +string +string +atom +variable-2 +atom +variable-2 +string +string +keyword +variable-2 +atom +header string +meta +string +string +string +string +string +string +string +atom +variable-2 +atom +string +string +string +keyword +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499.tokens b/atest/fixtures/highlighting/tokens/rfug/3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499.tokens new file mode 100644 index 0000000..064d1fb --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3e277a8346d48ea215024a486ec6a28fba58f841477fdd5a705c421a41146499.tokens @@ -0,0 +1,18 @@ +header link +header string +keyword +keyword +string +string +string +string +header string +bracket +meta +bracket +keyword +keyword +keyword +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe.tokens b/atest/fixtures/highlighting/tokens/rfug/3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe.tokens new file mode 100644 index 0000000..67db8a2 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3ef696c06c63d42d883007555bd6f95b8cfef399451aeb0c8ef42412f68196fe.tokens @@ -0,0 +1,32 @@ +header link +header string +atom +variable-2 +variable-2 +variable-2 +atom +bracket +string +string +bracket +string +string +bracket +string +string +keyword +string +variable-2 +string +string +string +string +string +variable-2 +string +string +string +string +variable-2 +string +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f.tokens b/atest/fixtures/highlighting/tokens/rfug/3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f.tokens new file mode 100644 index 0000000..2fab2fa --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3f284550c09f030f37c5284ed13866c6eba6a125af3fea1669785582a5483c2f.tokens @@ -0,0 +1,62 @@ +header link +comment +header string +keyword +string +comment +keyword +string +string +comment +keyword +string +string +string +comment +header string +keyword +attribute +operator +string +comment +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +comment +header string +keyword +string +attribute +operator +string +comment +keyword +string +string +attribute +operator +string +comment +keyword +string +attribute +operator +string +attribute +operator +string +comment +header string +keyword +string +attribute +operator +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033.tokens b/atest/fixtures/highlighting/tokens/rfug/3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033.tokens new file mode 100644 index 0000000..91607e0 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/3fdda1941e3f557e77c05a7b9ec84a63793c5ccd1498adc79354f393867b6033.tokens @@ -0,0 +1,25 @@ +header link +header string +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +variable-2 +string +string +variable-2 +operator +keyword +keyword +string +keyword +keyword +keyword +variable-2 +operator +property +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06.tokens b/atest/fixtures/highlighting/tokens/rfug/40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06.tokens new file mode 100644 index 0000000..10a8a7d --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/40f103e15e7a7b5e38ce23e4e0effb1e2eebefb9b24b2a7d79cad73dc6da7f06.tokens @@ -0,0 +1,20 @@ +header link +header string +variable-2 +operator +property +variable-2 +operator +keyword +keyword +string +string +variable-2 +operator +property +variable-2 +operator +keyword +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6.tokens b/atest/fixtures/highlighting/tokens/rfug/410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6.tokens new file mode 100644 index 0000000..1a0c970 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/410f7fe6d9038d2bbf5eff3053746ce1cef7e5263b7af553b22b18352347d5b6.tokens @@ -0,0 +1,38 @@ +header link +header string +keyword +keyword +string +keyword +keyword +string +keyword +keyword +string +string +string +keyword +keyword +string +string +string +string +header string +keyword +keyword +variable-2 +number +variable-2 +keyword +keyword +string +variable-2 +number +variable-2 +comment +keyword +keyword +variable-2 +number +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20.tokens b/atest/fixtures/highlighting/tokens/rfug/415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20.tokens new file mode 100644 index 0000000..dfbb414 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/415e28bbab0b25f38eabc1ffc962aae3f580d762d318daf0b57510ad61c26d20.tokens @@ -0,0 +1,17 @@ +header link +variable-2 +string +header link +header string +keyword +keyword +variable-2 +number +variable-2 +keyword +variable-2 +number +variable-2 +keyword +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae.tokens b/atest/fixtures/highlighting/tokens/rfug/4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae.tokens new file mode 100644 index 0000000..1b21d8d --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/4368bf6ece431c9f4d56798eef916ddf93f618cf87c615fc58dbf602e34ffeae.tokens @@ -0,0 +1,83 @@ +header link +meta +tag +meta +tag +tag +header link +variable-2 +string +header link +header string +meta +string +string +string +string +string +string +string +string +keyword +keyword +header string +meta +string +string +string +string +string +string +string +string +bracket +meta +bracket +tag +tag +keyword +keyword +header string +meta +string +string +string +string +string +string +string +bracket +meta +bracket +tag +variable-2 +keyword +keyword +header string +meta +string +string +string +string +string +string +bracket +meta +keyword +keyword +header string +meta +string +string +string +string +string +string +string +keyword +keyword +string +keyword +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13.tokens b/atest/fixtures/highlighting/tokens/rfug/44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13.tokens new file mode 100644 index 0000000..f178c04 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/44e58c5ffc5f62dd53e1ca2e321a99765a84fa98b334011b4d4c5b28d36e6a13.tokens @@ -0,0 +1,13 @@ +header link +header string +variable-2 +operator +keyword +keyword +string +string +keyword +string +string +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c.tokens b/atest/fixtures/highlighting/tokens/rfug/452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c.tokens new file mode 100644 index 0000000..0658640 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/452bda58da35426e37ad1e1d5aa6095dca0139471f81ccda42d75e7e3072153c.tokens @@ -0,0 +1,24 @@ +header link +header string +bracket +meta +bracket +keyword +keyword +atom +variable-2 +atom +variable-2 +variable-2 +bracket +string +string +atom +atom +variable-2 +atom +string +keyword +keyword +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1.tokens b/atest/fixtures/highlighting/tokens/rfug/479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1.tokens new file mode 100644 index 0000000..4b05617 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/479e12ffd5032cf2371a1a2f80f66c551926721b15ba4fa8bde029e7cc09a3a1.tokens @@ -0,0 +1,27 @@ +header link +header string +keyword +keyword +variable-2 +builtin +variable-2 +string +variable-2 +builtin +variable-2 +string +variable-2 +builtin +variable-2 +string +variable-2 +operator +keyword +keyword +variable-2 +builtin +variable-2 +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2.tokens b/atest/fixtures/highlighting/tokens/rfug/47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2.tokens new file mode 100644 index 0000000..2d1fd06 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/47b038a0e2b492adb5b16e4371c10f8335f222050203067c6b030f79aaec5de2.tokens @@ -0,0 +1,113 @@ +header link +def +def +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +builtin +variable-2 +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +number +variable-2 +comment +def +def +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +builtin +variable-2 +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +builtin +variable-2 +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771.tokens b/atest/fixtures/highlighting/tokens/rfug/47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771.tokens new file mode 100644 index 0000000..007b983 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/47f52d598f3fe4ac621c9778caeb1546769ad95a636981805f8e0895a3dcc771.tokens @@ -0,0 +1,24 @@ +header link +header string +keyword +string +string +comment +header string +keyword +string +variable-2 +number +variable-2 +comment +header string +keyword +keyword +variable-2 +number +variable-2 +variable-2 +operator +number +variable-2 +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f.tokens b/atest/fixtures/highlighting/tokens/rfug/48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f.tokens new file mode 100644 index 0000000..3650bc1 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/48be95fd1c6832122bd1bd21b6b807db90365c4841f75f31ad55b1b31f3ffe8f.tokens @@ -0,0 +1,21 @@ +header link +header string +keyword +keyword +string +string +string +string +string +keyword +keyword +string +string +string +string +keyword +keyword +variable-2 +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be.tokens b/atest/fixtures/highlighting/tokens/rfug/506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be.tokens new file mode 100644 index 0000000..1ea9cae --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/506a398e7eafc854ac8b5dd2efdaa9a50038e591238571e070ed26d6225be0be.tokens @@ -0,0 +1,26 @@ +header link +header string +keyword +string +string +string +string +string +string +header string +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +variable-2 +string +string strong +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab.tokens b/atest/fixtures/highlighting/tokens/rfug/52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab.tokens new file mode 100644 index 0000000..c0a8218 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/52c8af8fbc6b184fea278fcadd1ecc3da68ca3813d97697b3285fadcd1e285ab.tokens @@ -0,0 +1,17 @@ +header link +header string +variable-2 +operator +keyword +keyword +string +string +string +keyword +keyword +keyword +variable-2 +string +keyword +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f.tokens b/atest/fixtures/highlighting/tokens/rfug/532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f.tokens new file mode 100644 index 0000000..a32243c --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/532d35971d640d9a253b47ec29d37135f9558dacf964ef722d584809ee21b82f.tokens @@ -0,0 +1,8 @@ +header link +header string +keyword +keyword +keyword +keyword +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756.tokens b/atest/fixtures/highlighting/tokens/rfug/5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756.tokens new file mode 100644 index 0000000..3013b34 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/5655e1ae7dfd07ca9cb840e674152411889f65a731907b0d2938a39382926756.tokens @@ -0,0 +1,19 @@ +header link +variable-2 +string +string +variable-2 +number +variable-2 +variable-2 +string +variable-2 +variable-2 +string +string +string +string +bracket +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246.tokens b/atest/fixtures/highlighting/tokens/rfug/57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246.tokens new file mode 100644 index 0000000..3924f4c --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/57586d2261c92768d9d83a4f84d60357d651bd2f1fa2cbf995919a977cc1c246.tokens @@ -0,0 +1,86 @@ +header link +meta +keyword +keyword +string +string +meta +keyword +keyword +header link +header string +meta +string +string +string +string +string +string +keyword +keyword +header string +meta +string +string +string +string +string +string +bracket +meta +bracket +keyword +keyword +string +string +keyword +keyword +header string +meta +string +string +string +string +string +string +keyword +keyword +bracket +meta +header string +meta +string +string +string +string +string +string +string +string +string +string +string +keyword +keyword +bracket +meta +bracket +keyword +header string +meta +string +string +string +string +string +string +bracket +meta +bracket +variable-2 +keyword +keyword +bracket +meta +bracket +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3.tokens b/atest/fixtures/highlighting/tokens/rfug/57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3.tokens new file mode 100644 index 0000000..20f629b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/57d4fe4bb026e3aab2349f18ead841fa91c26661b0cfdfd613b69adb9da5eec3.tokens @@ -0,0 +1,30 @@ +header link +def +def +def +meta +variable-2 +keyword +keyword +variable-2 +def +def +def +def +meta +variable-2 +variable-2 +keyword +keyword +variable-2 +variable-2 +def +def +meta +variable-2 +variable-2 +keyword +keyword +string +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad.tokens b/atest/fixtures/highlighting/tokens/rfug/591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad.tokens new file mode 100644 index 0000000..1ff8b9f --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/591c36a3075dba9bff1249e2b03cd92d2ba54b7d211e33b64b9edd0e24b22dad.tokens @@ -0,0 +1,25 @@ +header link +header string +keyword +keyword +variable-2 +builtin +variable-2 +string +keyword +keyword +variable-2 +builtin +variable-2 +string +string +string +keyword +keyword +variable-2 +builtin +variable-2 +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63.tokens b/atest/fixtures/highlighting/tokens/rfug/59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63.tokens new file mode 100644 index 0000000..541855a --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/59faa878a8acd1c86dbc79a2cab7123825e5dd9bc4f98ea5a12ecc916f17ed63.tokens @@ -0,0 +1,24 @@ +header link +header string +keyword +keyword +variable-2 +operator +property +variable-2 +keyword +keyword +variable-2 +operator +property +bracket +string +bracket +variable-2 +keyword +keyword +variable-2 +bracket +number +bracket +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442.tokens b/atest/fixtures/highlighting/tokens/rfug/5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442.tokens new file mode 100644 index 0000000..6d8167d --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/5ba768e3c479734e43c46e286ae480005c12b38720a1868b2eb49014480ba442.tokens @@ -0,0 +1,25 @@ +header link +def +def +meta +variable-2 +atom +variable-2 +atom +variable-2 +keyword +keyword +variable-2 +atom +def +def +meta +variable-2 +atom +variable-2 +atom +variable-2 +keyword +keyword +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9.tokens b/atest/fixtures/highlighting/tokens/rfug/5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9.tokens new file mode 100644 index 0000000..b97986b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/5cdf1e7a7c1e1180764138c8d8633bf2ad274a858d45cf9f2495c919bea5fbe9.tokens @@ -0,0 +1,105 @@ +header link +def +def +def +def +def +meta +variable-2 +operator +string +string +meta +string +string +string +string +string +keyword +string +string +variable-2 +def +def +def +def +meta +variable-2 +number +variable-2 +operator +string +string +variable-2 +number +variable-2 +operator +variable-2 +meta +string +string +string +string +string +keyword +string +string +variable-2 +number +variable-2 +keyword +string +string +variable-2 +number +variable-2 +def +def +def +def +def +def +meta +variable-2 +variable-2 +operator +string +meta +string +string +string +string +string +keyword +string +variable-2 +keyword +string +variable-2 +string +string +string +string +string +meta +variable-2 +variable-2 +operator +variable-2 +variable-2 +operator +variable-2 +string +variable-2 +keyword +keyword +keyword +variable-2 +variable-2 +keyword +keyword +keyword +variable-2 +variable-2 +string +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4.tokens b/atest/fixtures/highlighting/tokens/rfug/5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4.tokens new file mode 100644 index 0000000..e07efa1 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/5e73f2bdd7cd6d43b7a87137f25aaf6b6d4bef7bd67c109cbe5aa1ab28dbe6a4.tokens @@ -0,0 +1,85 @@ +header link +def +def +def +meta +string +string +string +keyword +keyword +def +def +meta +string +string +string +string +string +string +string +bracket +bracket +string +string +string +string +string +string +string +bracket +string +string +string +string +string +string +string +string +string +bracket +string +string +string +string +string +string +string +keyword +keyword +def +def +def +def +def +meta +string +string +string +string +string +string +string +string +string +bracket +string +string +string +bracket +bracket +string +string +string +string +string +string +string +string +string +bracket +string +string +string +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803.tokens b/atest/fixtures/highlighting/tokens/rfug/6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803.tokens new file mode 100644 index 0000000..38c68e9 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/6170e7b26b1017b12aa66b5bc52a6242c3e37be0e0949b7cbc9222af136d4803.tokens @@ -0,0 +1,6 @@ +header link +header string +keyword +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86.tokens b/atest/fixtures/highlighting/tokens/rfug/618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86.tokens new file mode 100644 index 0000000..e49ec2a --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/618adedfd1b83f5d45e078051c01d0eb326ba188aa0e07307336de0ec8024f86.tokens @@ -0,0 +1,11 @@ +header link +meta +string +atom +bracket +def +meta +variable-2 +atom +bracket +def \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6.tokens b/atest/fixtures/highlighting/tokens/rfug/6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6.tokens new file mode 100644 index 0000000..e761d67 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/6416c19caa21082fbf17a041f1dd0e196fbcd72d45e59c304d3c21c7b7793ea6.tokens @@ -0,0 +1,17 @@ +header link +header string +atom +variable-2 +atom +string +string +bracket +keyword +variable-2 +bracket +keyword +string +string +keyword +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc.tokens b/atest/fixtures/highlighting/tokens/rfug/651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc.tokens new file mode 100644 index 0000000..aab9cc9 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/651255edafb18fa80c1e4d4b54c33dccdc73097fc3f0e7da390d7138d8762dcc.tokens @@ -0,0 +1,87 @@ +header link +header string +bracket +builtin em +keyword +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +keyword +header string +bracket +builtin em +keyword +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +keyword +header link +def +def +variable-2 +def +keyword +keyword +variable-2 +def +def +variable-2 +number +variable-2 +def +variable-2 +number +variable-2 +keyword +keyword +variable-2 +number +variable-2 +keyword +keyword +string +keyword +keyword +variable-2 +number +variable-2 +keyword +keyword +operator +def +def +def +variable-2 +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae.tokens b/atest/fixtures/highlighting/tokens/rfug/653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae.tokens new file mode 100644 index 0000000..60bdaec --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/653727e6079338350455d797c46d39fb3f8e738dd4976798b26c7b67b11cf8ae.tokens @@ -0,0 +1,27 @@ +header link +def +def +def +keyword +keyword +string +keyword +keyword +keyword +string +string +def +def +def +def +meta +variable-2 +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09.tokens b/atest/fixtures/highlighting/tokens/rfug/6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09.tokens new file mode 100644 index 0000000..c35b694 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/6d8e9584fa383b2234ad4f0041a029f77d0f5d50dd4b273a541a89e26b53ee09.tokens @@ -0,0 +1,10 @@ +header link +header string +atom +variable-2 +atom +variable-2 +keyword +keyword +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154.tokens b/atest/fixtures/highlighting/tokens/rfug/6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154.tokens new file mode 100644 index 0000000..acb8adf --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/6ddd7ceacb679de1a36841fe680929cd21e30e8294c8c32306a3eee4d30e6154.tokens @@ -0,0 +1,29 @@ +header link +meta +bracket +string +string +bracket +bracket +string +string +string +string +bracket +string +string +string +meta +string +string +bracket +string +string +string +bracket +string +string +string +bracket +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c.tokens b/atest/fixtures/highlighting/tokens/rfug/6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c.tokens new file mode 100644 index 0000000..5605f44 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/6e8906a5f2ec1b630a50364e313f4d6b0eb5bbfec7bf7f18645b7a8d98130c5c.tokens @@ -0,0 +1,46 @@ +header link +def +def +meta +variable-2 +variable-2 +operator +string +keyword +keyword +variable-2 +def +def +def +def +meta +variable-2 +variable-2 +operator +string +variable-2 +variable-2 +number +variable-2 +variable-2 +number +variable-2 +operator +string +string +variable-2 +number +variable-2 +keyword +keyword +variable-2 +variable-2 +variable-2 +number +variable-2 +variable-2 +number +variable-2 +variable-2 +number +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5.tokens b/atest/fixtures/highlighting/tokens/rfug/6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5.tokens new file mode 100644 index 0000000..77f0d91 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/6fc94101dabf8ec05d36020547f1a76368b9e111bea2da46827196c8bbab19a5.tokens @@ -0,0 +1,18 @@ +header link +variable-2 +string +string +variable-2 +variable-2 +number +variable-2 +variable-2 +string +string +variable-2 +attribute +operator +string +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930.tokens b/atest/fixtures/highlighting/tokens/rfug/73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930.tokens new file mode 100644 index 0000000..3ec0b4b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/73296a9999631a485bd1df7926822d37a014dee6dfefb4e9a6d17eb58e1de930.tokens @@ -0,0 +1,73 @@ +header link +header string +keyword +keyword +attribute +operator +string +keyword +keyword +string +string +string +attribute +operator +string +keyword +keyword +attribute +operator +string +attribute +operator +string +keyword +keyword +attribute +operator +string +attribute +operator +string +keyword +keyword +string +attribute +operator +string +keyword +keyword +attribute +operator +string +attribute +operator +string +keyword +keyword +keyword +string +attribute +operator +string +attribute +operator +string +attribute +operator +string +keyword +keyword +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41.tokens b/atest/fixtures/highlighting/tokens/rfug/75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41.tokens new file mode 100644 index 0000000..49017d7 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/75a1e5fde354d71dca9a0bd0d90a0c177fe496ecd6d65048ea77f2b46b4c4c41.tokens @@ -0,0 +1,52 @@ +header link +header string +bracket +meta +bracket +keyword +keyword +keyword +variable-2 +keyword +keyword +variable-2 +keyword +keyword +keyword +string +keyword +keyword +keyword +string +header string +bracket +meta +bracket +keyword +keyword +keyword +variable-2 +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +header string +bracket +meta +bracket +keyword +variable-2 +keyword +variable-2 +keyword +keyword +keyword +keyword +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652.tokens b/atest/fixtures/highlighting/tokens/rfug/766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652.tokens new file mode 100644 index 0000000..d3569f1 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/766f42a8c689f4a3dc55c9ba7cb7d5c5c53e3d835d5dad759b8a7898cd00d652.tokens @@ -0,0 +1,24 @@ +header link +header string +keyword +keyword +string +string +bracket +header string +keyword +keyword +string +string +variable-2 +builtin +variable-2 +header string +keyword +keyword +variable-2 +builtin +variable-2 +string +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c.tokens b/atest/fixtures/highlighting/tokens/rfug/7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c.tokens new file mode 100644 index 0000000..e1ad6e6 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/7ba3bd3e76ec30280f3b93616f7a9fe0d5d910e184bdd5e88accaa8ad8b3a15c.tokens @@ -0,0 +1,35 @@ +header link +header string +variable-2 +operator +keyword +keyword +variable-2 +builtin +variable-2 +atom +variable-2 +atom +string +string +string +keyword +keyword +keyword +keyword +string +variable-2 +string +operator +string +variable-2 +operator +keyword +keyword +variable-2 +atom +keyword +keyword +keyword +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264.tokens b/atest/fixtures/highlighting/tokens/rfug/7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264.tokens new file mode 100644 index 0000000..34615dd --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/7bf46b6d5812b6dd32ef9a4ebab7e61b0923a695b03db511ab535d897e2e6264.tokens @@ -0,0 +1,59 @@ +header link +comment +header string +keyword +attribute +operator +string +comment +keyword +attribute +operator +string +attribute +operator +string +comment +header string +keyword +string +attribute +operator +string +comment +keyword +string +string +attribute +operator +string +comment +header string +keyword +attribute +operator +string +attribute +operator +string +comment +header string +keyword +attribute +operator +string +attribute +operator +string +comment +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8.tokens b/atest/fixtures/highlighting/tokens/rfug/7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8.tokens new file mode 100644 index 0000000..1ce1ea3 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/7e9e17a259aec72a2990467109c927b18e8c1ef206285f85350bd248aa5c5ad8.tokens @@ -0,0 +1,44 @@ +header link +header string +variable-2 +operator +keyword +keyword +string +keyword +variable-2 +operator +property +bracket +variable-2 +comment +keyword +variable-2 +operator +variable-2 +number +variable-2 +comment +header string +variable-2 +operator +keyword +keyword +variable-2 +operator +number +variable-2 +keyword +variable-2 +operator +variable-2 +number +variable-2 +comment +keyword +variable-2 +operator +property +bracket +variable-2 +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569.tokens b/atest/fixtures/highlighting/tokens/rfug/7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569.tokens new file mode 100644 index 0000000..de84431 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/7f7aff82879c76d0b98191118153ed2f7e6cf0d62bd66eeb149ccc3b75876569.tokens @@ -0,0 +1,42 @@ +header link +meta +string +string +string +string +string +string +string +string +meta +string +header link +variable-2 +string +string +header link +header string +meta +string +string +keyword +variable-2 +keyword +keyword +string +header string +keyword +keyword +keyword +variable-2 +string +string +header link +def +def +meta +variable-2 +keyword +keyword +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8.tokens b/atest/fixtures/highlighting/tokens/rfug/874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8.tokens new file mode 100644 index 0000000..c79f9ee --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/874704917cf5c4d3b0fef54dd73aa731eeae497eda7d4907caaf5d8ee1b751b8.tokens @@ -0,0 +1,15 @@ +header link +header string +keyword +variable-2 +attribute +operator +string +keyword +string +variable-2 +variable-2 +keyword +variable-2 +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd.tokens b/atest/fixtures/highlighting/tokens/rfug/8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd.tokens new file mode 100644 index 0000000..16987ff --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/8975555ee765d3df3e42871ae70b7c92d59d208e9eb1fa370cd4942849f216fd.tokens @@ -0,0 +1,39 @@ +header link +def +def +meta +variable-2 +keyword +string +string +variable-2 +def +def +meta +variable-2 +number +variable-2 +variable-2 +number +variable-2 +variable-2 +number +variable-2 +keyword +string +string +variable-2 +number +variable-2 +keyword +string +string +variable-2 +number +variable-2 +keyword +string +string +variable-2 +number +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3.tokens b/atest/fixtures/highlighting/tokens/rfug/8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3.tokens new file mode 100644 index 0000000..3b6a566 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/8bd3cf1fa009f5d9e1c27f0f382a854efef602300713d10586ae600d8f70a6d3.tokens @@ -0,0 +1,47 @@ +header link +meta +string +attribute +operator +string +attribute +operator +string +header link +header string +keyword +keyword +string +attribute +operator +variable-2 +attribute +operator +string +keyword +keyword +attribute +operator +string +keyword +keyword +attribute +operator +string +attribute +operator +string +header link +def +def +meta +variable-2 +operator +string +variable-2 +operator +keyword +keyword +string +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804.tokens b/atest/fixtures/highlighting/tokens/rfug/8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804.tokens new file mode 100644 index 0000000..64fd8c2 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/8bfe7b77d86188c23a880b441804d4d944ec8190ada40fb83d5fa7e37f6ce804.tokens @@ -0,0 +1,36 @@ +header link +header string +variable-2 +operator +keyword +keyword +variable-2 +builtin +variable-2 +atom +variable-2 +atom +string +string +keyword +keyword +keyword +string +variable-2 +string +operator +string +string +string +string +variable-2 +operator +keyword +keyword +variable-2 +atom +keyword +keyword +keyword +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643.tokens b/atest/fixtures/highlighting/tokens/rfug/8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643.tokens new file mode 100644 index 0000000..ef36287 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/8df77959c3c808ed3102f5c6c1fa49733ba4e773ddaf246710a2b797cd56a643.tokens @@ -0,0 +1,14 @@ +header link +header string +keyword +variable-2 +operator +property +variable-2 +string +string +string +variable-2 +operator +property +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba.tokens b/atest/fixtures/highlighting/tokens/rfug/8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba.tokens new file mode 100644 index 0000000..e2a1a10 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/8e5140e8a3f637e0a4df37a4141af6acd5a17ac3dca15a7c67071de1e6a7b1ba.tokens @@ -0,0 +1,31 @@ +bracket +header link +bracket +bracket +bracket +bracket +bracket +header string +bracket +variable-2 +operator +keyword +keyword +bracket +string +string +string +string +string +string +bracket +bracket +bracket +keyword +keyword +keyword +bracket +variable-2 +bracket +string +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181.tokens b/atest/fixtures/highlighting/tokens/rfug/8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181.tokens new file mode 100644 index 0000000..e75ebc8 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/8fe96d3d4aec5eca5394e8e93118115b04470e35fbe2f4b46a3b65606fc01181.tokens @@ -0,0 +1,35 @@ +header link +header string +atom +variable-2 +variable-2 +variable-2 +atom +bracket +string +string +string +bracket +string +string +string +bracket +string +string +string +keyword +keyword +keyword +variable-2 +variable-2 +variable-2 +atom +atom +variable-2 +variable-2 +atom +variable-2 +keyword +variable-2 +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5.tokens b/atest/fixtures/highlighting/tokens/rfug/90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5.tokens new file mode 100644 index 0000000..a4b6bdf --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/90546ad3f03c6d9dd4c49becff6a764c7b48c7338cde927dff2243261ec75ba5.tokens @@ -0,0 +1,38 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +header link +def +def +def +variable-2 +def +keyword +keyword +variable-2 +attribute +operator +string +def +def +def +variable-2 +def +def +def +variable-2 +def +keyword +keyword +variable-2 +variable-2 +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6.tokens b/atest/fixtures/highlighting/tokens/rfug/90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6.tokens new file mode 100644 index 0000000..db78c4b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/90bd912803b584e17e849080fd626ef144c6f9ccf282b648fbf39b57ddffd3f6.tokens @@ -0,0 +1,22 @@ +header link +header string +keyword +keyword +variable-2 +keyword +keyword +variable-2 +keyword +keyword +string +string +string +variable-2 +string +keyword +keyword +string +string +string +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2.tokens b/atest/fixtures/highlighting/tokens/rfug/92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2.tokens new file mode 100644 index 0000000..4833d45 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/92ba7ffda8428e1761be331c36ee388868e4c74cb32c43dacb4b870eeae8d7c2.tokens @@ -0,0 +1,21 @@ +header link +meta +string +string +atom +bracket +def +meta +string +string +atom +bracket +def +meta +string +string +string +string +atom +bracket +def \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a.tokens b/atest/fixtures/highlighting/tokens/rfug/93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a.tokens new file mode 100644 index 0000000..eeb0dd9 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/93ae646bc6372e44bb81813d04d11fa6fa379e162f65fa81b9b4d936253fc25a.tokens @@ -0,0 +1,9 @@ +header link +meta +string +header link +header string +keyword +keyword +keyword +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e.tokens b/atest/fixtures/highlighting/tokens/rfug/9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e.tokens new file mode 100644 index 0000000..086079d --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/9646aff3c29735e7d4190f239ad82ef5c4370d11103bce5fe3035279f15ba31e.tokens @@ -0,0 +1,25 @@ +header link +header string +bracket +meta +bracket +keyword +keyword +variable-2 +builtin +variable-2 +header string +keyword +keyword +keyword +variable-2 +variable-2 +builtin +variable-2 +keyword +keyword +keyword +variable-2 +variable-2 +builtin +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440.tokens b/atest/fixtures/highlighting/tokens/rfug/97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440.tokens new file mode 100644 index 0000000..56ccced --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/97c08e4a04df19c3fda2bfcabb91474f246c1404b9136e399c8986f2c143a440.tokens @@ -0,0 +1,11 @@ +header link +header string +keyword +string +string +variable-2 +keyword +variable-2 +builtin +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126.tokens b/atest/fixtures/highlighting/tokens/rfug/99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126.tokens new file mode 100644 index 0000000..2d1fd06 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/99a7515409d3919e877a32ad408a7bc231e6297ef3c45af189ebbcb4ba8e5126.tokens @@ -0,0 +1,113 @@ +header link +def +def +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +builtin +variable-2 +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +number +variable-2 +comment +def +def +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +builtin +variable-2 +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +variable-2 +builtin +variable-2 +comment +keyword +keyword +keyword +variable-2 +variable-2 +string +string +attribute +operator +string +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd.tokens b/atest/fixtures/highlighting/tokens/rfug/a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd.tokens new file mode 100644 index 0000000..f85ea3e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/a66ddf2a13c2108d30af91be420d31de4e08118de296f4e308e1925e426253fd.tokens @@ -0,0 +1,8 @@ +header link +header string +keyword +string +string +header string +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283.tokens b/atest/fixtures/highlighting/tokens/rfug/a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283.tokens new file mode 100644 index 0000000..47328a5 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/a7596ec70c45490a4e819caf159823b81464e5f66897b5e1c718da7e23fea283.tokens @@ -0,0 +1,33 @@ +header link +header string +keyword +variable-2 +bracket +number +bracket +variable-2 +bracket +number +bracket +keyword +keyword +keyword +string +variable-2 +bracket +number +bracket +string +header string +keyword +variable-2 +bracket +string +number +bracket +header string +keyword +variable-2 +bracket +variable-2 +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7.tokens b/atest/fixtures/highlighting/tokens/rfug/a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7.tokens new file mode 100644 index 0000000..f800dc7 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/a7d7bfca50cfe793ef63c8cea2b534155a899b6c04300976d68699428dbe6ea7.tokens @@ -0,0 +1,20 @@ +header link +header string +keyword +keyword +variable-2 +builtin +variable-2 +string +keyword +keyword +variable-2 +builtin +variable-2 +string +variable-2 +builtin +variable-2 +string +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9.tokens b/atest/fixtures/highlighting/tokens/rfug/a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9.tokens new file mode 100644 index 0000000..25b6de2 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/a8115e316cc8dd5035c950f19a019b6f8d9ea7667a6fa851de29a93e131165a9.tokens @@ -0,0 +1,34 @@ +header link +header string +keyword +keyword +keyword +variable-2 +builtin +variable-2 +builtin +variable-2 +string +string +string +string +variable-2 +builtin +variable-2 +string +string +string +keyword +keyword +keyword +string +variable-2 +builtin +variable-2 +builtin +variable-2 +builtin +variable-2 +builtin +variable-2 +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4.tokens b/atest/fixtures/highlighting/tokens/rfug/aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4.tokens new file mode 100644 index 0000000..37d71cf --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/aa22ae088af21b643640b58dec621d3d8d904e732b308446e849dd10adfd4fb4.tokens @@ -0,0 +1,28 @@ +header link +header string +bracket +builtin em +keyword +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +bracket +builtin em +keyword +keyword +keyword +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae.tokens b/atest/fixtures/highlighting/tokens/rfug/ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae.tokens new file mode 100644 index 0000000..6b867e4 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/ab223eb46e8e9ad93b3510d6ec1c2a76ee92e02b5a6281aa267cf771085f4dae.tokens @@ -0,0 +1,66 @@ +header link +comment +header string +keyword +comment +header string +keyword +string +comment +keyword +string +string +comment +header string +keyword +attribute +operator +string +comment +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +comment +header string +keyword +string +attribute +operator +string +comment +keyword +string +attribute +operator +string +attribute +operator +string +comment +header string +keyword +attribute +operator +string +attribute +operator +string +comment +keyword +attribute +operator +string +attribute +operator +string +attribute +operator +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244.tokens b/atest/fixtures/highlighting/tokens/rfug/b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244.tokens new file mode 100644 index 0000000..728f696 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/b2ca9fedc1748d10b0ef401a0dfea4d336f70a16efb32fe55328504fb0524244.tokens @@ -0,0 +1,19 @@ +header link +meta +string +string +string +string +string +string +string strong +em string +string +bracket +string +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21.tokens b/atest/fixtures/highlighting/tokens/rfug/b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21.tokens new file mode 100644 index 0000000..9bde6a0 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/b87d695c51ccc4f21e5820860bcbf4cc6851ad1166665833cfc319a1a423eb21.tokens @@ -0,0 +1,53 @@ +header link +variable-2 +variable-2 +number +variable-2 +variable-2 +number +variable-2 +variable-2 +number +variable-2 +variable-2 +string +string +string +header link +header string +variable-2 +operator +keyword +keyword +variable-2 +atom +variable-2 +atom +variable-2 +keyword +keyword +keyword +keyword +variable-2 +bracket +variable-2 +bracket +variable-2 +bracket +variable-2 +bracket +atom +header string +atom +variable-2 +variable-2 +atom +variable-2 +variable-2 +keyword +keyword +keyword +keyword +variable-2 +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2.tokens b/atest/fixtures/highlighting/tokens/rfug/ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2.tokens new file mode 100644 index 0000000..5ce0eb7 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/ba8686e4f09bc3b721279260eb268b42dbc680f0a0b07ba90ee7468a00b3f5a2.tokens @@ -0,0 +1,51 @@ +header link +header string +meta +string +string +keyword +keyword +header string +meta +string strong +string +em string +string +string +string +string +string +string +keyword +keyword +header string +meta +string +string +variable-2 +string +variable-2 +keyword +keyword +header string +meta +string +string +string +string +string +string +string +keyword +keyword +header string +meta +string +string +string +bracket +string +string +string +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974.tokens b/atest/fixtures/highlighting/tokens/rfug/bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974.tokens new file mode 100644 index 0000000..b264b7f --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/bac9ffc20adf5c49fe2c1a0c093ab96d501297796d01d74337ed6766df7f2974.tokens @@ -0,0 +1,49 @@ +header link +header string +keyword +keyword +keyword +keyword +string +keyword +keyword +string +string +string +string +string +string +string +string +string +string +keyword +keyword +string +string +keyword +keyword +string +string +string +string +string +string +keyword +keyword +string +keyword +keyword +string +string +string +string +string +keyword +keyword +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c.tokens b/atest/fixtures/highlighting/tokens/rfug/bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c.tokens new file mode 100644 index 0000000..b60cc7e --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/bb93c8b4e9dffbad90ad5667eee7ce2e098f7828b2592df256e412959fbe4f0c.tokens @@ -0,0 +1,20 @@ +header link +header string +keyword +keyword +string +string +string +attribute +operator +string +keyword +keyword +string +string +attribute +operator +string +attribute +operator +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79.tokens b/atest/fixtures/highlighting/tokens/rfug/c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79.tokens new file mode 100644 index 0000000..f6f0306 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c039ae1f15e242142ec0e88508deb8013e63236fce9b934181dbbf597bd1ba79.tokens @@ -0,0 +1,21 @@ +header link +variable-2 +string +string +string +string +string +string +string +string +variable-2 +attribute +operator +string +string +string +bracket +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9.tokens b/atest/fixtures/highlighting/tokens/rfug/c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9.tokens new file mode 100644 index 0000000..21ad5bd --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c1b0768d04cb2ffd9c8357fffa052d5530dec6b582024789f7e390dcf46be3b9.tokens @@ -0,0 +1,36 @@ +header link +header string +keyword +keyword +variable-2 +builtin +variable-2 +comment +keyword +keyword +string +variable-2 +builtin +variable-2 +comment +header string +keyword +keyword +variable-2 +builtin +variable-2 +comment +header string +variable-2 +operator +keyword +keyword +string +comment +keyword +keyword +keyword +variable-2 +variable-2 +builtin +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b.tokens b/atest/fixtures/highlighting/tokens/rfug/c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b.tokens new file mode 100644 index 0000000..5186c7b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c201a52dc79270dcd0d55c528965114635500404fb3a412d4dca2f375f0bd40b.tokens @@ -0,0 +1,15 @@ +header link +header string +keyword +keyword +string +string +string +keyword +keyword +string +string +string +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932.tokens b/atest/fixtures/highlighting/tokens/rfug/c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932.tokens new file mode 100644 index 0000000..cdd4658 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c330fbac99b018d17cf3df78f09d5c9548b83dcf52b4e62e46c34e0154562932.tokens @@ -0,0 +1,24 @@ +header link +def +def +keyword +keyword +bracket +meta +bracket +keyword +string +string +def +def +meta +string +string +string +string +keyword +keyword +bracket +meta +bracket +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af.tokens b/atest/fixtures/highlighting/tokens/rfug/c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af.tokens new file mode 100644 index 0000000..d8a1818 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c64b7d09f132dd7c2a9826fbeaf0de94534d1ddc852bf5e20df93bb4fb5a44af.tokens @@ -0,0 +1,36 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +string +keyword +keyword +string +keyword +keyword +keyword +keyword +keyword +keyword +keyword +header string +keyword +keyword +string +string +string +string +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +keyword +variable-2 +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307.tokens b/atest/fixtures/highlighting/tokens/rfug/c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307.tokens new file mode 100644 index 0000000..edb0300 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c74568d0a997b544bbad4342b930792a51b97e5198aee8c86bd9486fee742307.tokens @@ -0,0 +1,35 @@ +header link +header string +bracket +meta +bracket +keyword +keyword +keyword +keyword +keyword +keyword +keyword +variable-2 +variable-2 +bracket +string +keyword +string +variable-2 +builtin +variable-2 +bracket +variable-2 +variable-2 +bracket +variable-2 +builtin +variable-2 +variable-2 +builtin +variable-2 +bracket +variable-2 +builtin +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1.tokens b/atest/fixtures/highlighting/tokens/rfug/c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1.tokens new file mode 100644 index 0000000..a030352 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c8c6ff813ce931a654305197bf0a54727c2d27e1f526b6fa7daaaefca33ddfe1.tokens @@ -0,0 +1,37 @@ +header link +meta +keyword +keyword +keyword +keyword +keyword +keyword +header link +string +string +header string +string +variable-2 +header string +variable-2 +string +header string +string +string +header string +variable-2 +builtin +variable-2 +variable-2 +header string +variable-2 +variable-2 +builtin +variable-2 +header string +variable-2 +builtin +variable-2 +variable-2 +builtin +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826.tokens b/atest/fixtures/highlighting/tokens/rfug/c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826.tokens new file mode 100644 index 0000000..fee4265 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c9b783d88d1e8ad70f8b8547822c97a5df506b19f0f4a9030850af503d895826.tokens @@ -0,0 +1,14 @@ +header link +header string +keyword +variable-2 +string +string +keyword +variable-2 +variable-2 +string +keyword +variable-2 +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b.tokens b/atest/fixtures/highlighting/tokens/rfug/c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b.tokens new file mode 100644 index 0000000..83ae077 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/c9e69339713700f43dee457a6e155bc30f5ff0e94cabedc07bb37132340ea08b.tokens @@ -0,0 +1,83 @@ +bracket +header link +bracket +bracket +meta +bracket +string +string +string +string +string +string +string +string +bracket +meta +bracket +string +bracket +header link +bracket +bracket +variable-2 +bracket +string +string +bracket +header link +bracket +bracket +bracket +bracket +header string +bracket +meta +bracket +string +string +bracket +bracket +bracket +keyword +bracket +variable-2 +bracket +bracket +bracket +keyword +keyword +bracket +string +bracket +bracket +header string +bracket +keyword +keyword +keyword +bracket +variable-2 +bracket +string +string +bracket +header link +bracket +bracket +bracket +bracket +header string +bracket +meta +bracket +variable-2 +bracket +bracket +bracket +keyword +keyword +keyword +bracket +variable-2 +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5.tokens b/atest/fixtures/highlighting/tokens/rfug/cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5.tokens new file mode 100644 index 0000000..651e8f2 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/cdc160e6f7e6916c58517f42a2213c0eb456ddb927ae6d60617deb63621d59d5.tokens @@ -0,0 +1,10 @@ +header link +header string +keyword +keyword +keyword +keyword +attribute +operator +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7.tokens b/atest/fixtures/highlighting/tokens/rfug/cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7.tokens new file mode 100644 index 0000000..2c1c7a8 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/cfac0bd38202344652998d8e761fe99e18eb3627e688c8ff4422fffaa14076e7.tokens @@ -0,0 +1,20 @@ +header link +def +def +meta +variable-2 +variable-2 +keyword +keyword +variable-2 +variable-2 +def +def +meta +variable-2 +variable-2 +variable-2 +keyword +keyword +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad.tokens b/atest/fixtures/highlighting/tokens/rfug/cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad.tokens new file mode 100644 index 0000000..b820ab4 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/cfbda18f03128c58940300219c051619419e49bbf48f8827ac8a468f9fc49dad.tokens @@ -0,0 +1,9 @@ +header link +variable-2 +string +string +variable-2 +string +variable-2 +variable-2 +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272.tokens b/atest/fixtures/highlighting/tokens/rfug/d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272.tokens new file mode 100644 index 0000000..752a243 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/d0b81911ad9aea4ae30bfc46af694e215b6f5b1570c6199d4af0a1a25acab272.tokens @@ -0,0 +1,36 @@ +header link +header string +atom +variable-2 +atom +string +string +keyword +variable-2 +keyword +string +string +atom +keyword +string +string +header string +atom +variable-2 +atom +string +string +variable-2 +number +variable-2 +string +variable-2 +bracket +string +string +string +string +variable-2 +keyword +variable-2 +atom \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1.tokens b/atest/fixtures/highlighting/tokens/rfug/d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1.tokens new file mode 100644 index 0000000..7dbc733 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/d6a0f25ab7382e810dd5d16a46617a85f4bf8d27ff03ee26269a49f80c08bbe1.tokens @@ -0,0 +1,49 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +keyword +keyword +keyword +string +keyword +keyword +keyword +keyword +string +string +string +string +keyword +keyword +keyword +keyword +string +keyword +keyword +keyword +keyword +string +string +string +string +keyword +keyword +keyword +string +keyword +keyword +keyword +string +string +keyword +keyword +keyword +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777.tokens b/atest/fixtures/highlighting/tokens/rfug/d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777.tokens new file mode 100644 index 0000000..11aa943 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/d710c924030524c2271d27dcacc0b427ed39183dfd324bb4563df73013331777.tokens @@ -0,0 +1,53 @@ +header link +variable-2 +string +string +string +variable-2 +string +string +string +string +variable-2 +variable-2 +number +variable-2 +variable-2 +string +string +string +string +variable-2 +variable-2 +number +variable-2 +variable-2 +variable-2 +number +variable-2 +variable-2 +attribute +operator +variable-2 +number +variable-2 +attribute +operator +variable-2 +number +variable-2 +attribute +operator +variable-2 +number +variable-2 +variable-2 +string +string +variable-2 +attribute +operator +string +attribute +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa.tokens b/atest/fixtures/highlighting/tokens/rfug/d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa.tokens new file mode 100644 index 0000000..c712b43 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/d717f16613277fd934155e2611b4de039c800b57e7ee3b0d614d3e44066593fa.tokens @@ -0,0 +1,68 @@ +header link +header string +keyword +keyword +keyword +variable-2 +builtin +variable-2 +bracket +header string +keyword +keyword +keyword +variable-2 +builtin +variable-2 +operator +variable-2 +number +variable-2 +bracket +header string +keyword +keyword +keyword +variable-2 +builtin +variable-2 +operator +variable-2 +number +variable-2 +bracket +header string +keyword +keyword +keyword +string +variable-2 +builtin +variable-2 +string +string +string +header string +keyword +keyword +keyword +string +variable-2 +builtin +variable-2 +operator +variable-2 +number +variable-2 +string +string +bracket +string +header string +keyword +keyword +keyword +variable-2 +builtin +variable-2 +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47.tokens b/atest/fixtures/highlighting/tokens/rfug/da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47.tokens new file mode 100644 index 0000000..3fc66f8 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/da59023552a7d45908c443c308952825cec834ad47b95c6b6a41d45b9085ff47.tokens @@ -0,0 +1,103 @@ +header link +meta +string +string +string +string +string +string +string +bracket +string +string +string +string +string +string +string +string +string +string +meta +tag +tag +tag +tag +tag +bracket +tag +tag +tag +tag +header link +variable-2 +string +string +string +string +string +string +bracket +string +string +string +string +string +string +string +header link +header string +bracket +meta +bracket +tag +tag +tag +tag +tag +tag +tag +bracket +tag +tag +tag +tag +keyword +keyword +string +string +string +string +string +string +bracket +string +string +string +string +string +string +variable-2 +operator +keyword +keyword +bracket +string +string +string +string +string +string +string +string +string +bracket +string +string +string +string +string +string +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17.tokens b/atest/fixtures/highlighting/tokens/rfug/dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17.tokens new file mode 100644 index 0000000..4ba00ea --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/dc4f2da5d432c1defb205f9d87ee28fbc1e98ec055465b8159df49deed5d8f17.tokens @@ -0,0 +1,32 @@ +bracket +header link +bracket +keyword +bracket +keyword +bracket +variable-2 +bracket +string +bracket +string +bracket +string +bracket +bracket +string +bracket +variable-2 +bracket +bracket +string +bracket +string +string +bracket +bracket +keyword +bracket +string +string +bracket \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110.tokens b/atest/fixtures/highlighting/tokens/rfug/dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110.tokens new file mode 100644 index 0000000..58f05fb --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/dd20d932dc93d6b9f61f6607985ae91b6cc12fc292279a882819ae9c1e891110.tokens @@ -0,0 +1,14 @@ +header link +meta +string +meta +string +meta +variable-2 +string +meta +string +string +variable-2 +number +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2.tokens b/atest/fixtures/highlighting/tokens/rfug/defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2.tokens new file mode 100644 index 0000000..c612589 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/defcc7803fcf63c13b5ff1a7cf0d5969d8876a3f3e2b81e5ace65dbb8c987ab2.tokens @@ -0,0 +1,24 @@ +header link +meta +keyword +keyword +header link +header string +keyword +keyword +keyword +string +string +string +keyword +keyword +keyword +string +string +string +keyword +keyword +keyword +string +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5.tokens b/atest/fixtures/highlighting/tokens/rfug/e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5.tokens new file mode 100644 index 0000000..48c15a7 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e07efb6e3d60641f5d4bf0b29f5ec88400ce107ccc74b64cd9d705e70bba08a5.tokens @@ -0,0 +1,18 @@ +header link +header string +keyword +keyword +attribute +operator +string +comment +header link +def +def +meta +variable-2 +keyword +keyword +string +variable-2 +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5.tokens b/atest/fixtures/highlighting/tokens/rfug/e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5.tokens new file mode 100644 index 0000000..fb7c363 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e0e51f49a26794416e8e4678fcaf772aadf53000240df723bc67cacce5b907c5.tokens @@ -0,0 +1,12 @@ +header link +header string +keyword +keyword +keyword +keyword +string +string +string +keyword +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35.tokens b/atest/fixtures/highlighting/tokens/rfug/e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35.tokens new file mode 100644 index 0000000..00f5ce1 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e121bcdf1a93f06906551fc8231b302edb252786bddeb7658cdd549dfa718b35.tokens @@ -0,0 +1,115 @@ +header link +header string +variable-2 +operator +keyword +keyword +keyword +string +keyword +keyword +variable-2 +header string +variable-2 +operator +keyword +keyword +string +string +variable-2 +operator +keyword +keyword +string +variable-2 +keyword +keyword +keyword +variable-2 +variable-2 +number +variable-2 +variable-2 +operator +keyword +keyword +string +string +variable-2 +keyword +keyword +keyword +variable-2 +variable-2 +operator +number +variable-2 +header link +def +def +def +meta +variable-2 +keyword +keyword +variable-2 +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +keyword +variable-2 +keyword +string +string +string +string +def +def +meta +variable-2 +variable-2 +variable-2 +operator +keyword +keyword +variable-2 +number +variable-2 +atom +variable-2 +atom +variable-2 +keyword +keyword +keyword +keyword +string +variable-2 +string +operator +string +variable-2 +string +variable-2 +variable-2 +operator +keyword +keyword +variable-2 +operator +variable-2 +number +variable-2 +atom +keyword +keyword +keyword +variable-2 +operator +number +variable-2 +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021.tokens b/atest/fixtures/highlighting/tokens/rfug/e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021.tokens new file mode 100644 index 0000000..4d0cdc1 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e34d205a920479f6e448b166b8ce08b02d875ca3352ee383e83a0f8d69022021.tokens @@ -0,0 +1,78 @@ +header link +def +def +meta +string +string +string +string +string +string +string +string +string +string +meta +string +string +string +string +keyword +keyword +keyword +keyword +keyword +def +def +def +meta +variable-2 +meta +string +string +string +string +string +string +string +string +string +string +string +string +meta +string +string +string +string +string +string +string +string +string +keyword +keyword +variable-2 +def +def +def +def +meta +variable-2 +variable-2 +meta +string +string +string +string +string +string +string +string +string +string +meta +variable-2 +keyword +keyword +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466.tokens b/atest/fixtures/highlighting/tokens/rfug/e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466.tokens new file mode 100644 index 0000000..04b6bba --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e387cc44e663e66585d3aac555ad217ca8be9b7b52aee4625610ca36d3771466.tokens @@ -0,0 +1,30 @@ +header link +meta +string +variable-2 +comment +meta +variable-2 +variable-2 +comment +meta +variable-2 +comment +meta +keyword +keyword +variable-2 +comment +meta +variable-2 +bracket +variable-2 +bracket +comment +meta +variable-2 +bracket +comment +meta +variable-2 +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181.tokens b/atest/fixtures/highlighting/tokens/rfug/e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181.tokens new file mode 100644 index 0000000..2da2e1f --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e63e1c99aa2717cc02f5713c5fa947d0f9644ecdb41ddb3f4496f8cfb84e4181.tokens @@ -0,0 +1,32 @@ +header link +header string +variable-2 +operator +keyword +keyword +attribute +operator +string +attribute +operator +variable-2 +number +variable-2 +variable-2 +number +variable-2 +operator +string +keyword +keyword +keyword +variable-2 +string +keyword +keyword +variable-2 +keyword +variable-2 +operator +property +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90.tokens b/atest/fixtures/highlighting/tokens/rfug/e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90.tokens new file mode 100644 index 0000000..cdd8500 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e8bad102a86a8bfadf5ad8c218003b5e1306f1be7a58ee85d01842d7d7340e90.tokens @@ -0,0 +1,8 @@ +header link +variable-2 +operator +string +string +variable-2 +operator +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d.tokens b/atest/fixtures/highlighting/tokens/rfug/e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d.tokens new file mode 100644 index 0000000..edb95b9 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/e9469b86da7278b6235341d43d41256e6a33da5322f547913fda313af562fd9d.tokens @@ -0,0 +1,8 @@ +header link +meta +string +string +string +meta +string +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907.tokens b/atest/fixtures/highlighting/tokens/rfug/eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907.tokens new file mode 100644 index 0000000..ca89a35 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/eb476d0680d3f6b723a44707c19fb386b70d8856cfb01d9e03d4c63647e8d907.tokens @@ -0,0 +1,36 @@ +header link +def +def +def +def +def +bracket +meta +bracket +tag +tag +tag +keyword +keyword +def +def +def +def +meta +string +string +string +string +string +string +string +string +bracket +meta +tag +punctuation +tag +punctuation +tag +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48.tokens b/atest/fixtures/highlighting/tokens/rfug/ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48.tokens new file mode 100644 index 0000000..0ae8bdc --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/ef92fc6d23046942bc803c50cb1ca6342b53ef08e89d9d9d4b61222ec33bdf48.tokens @@ -0,0 +1,17 @@ +header link +meta +string +meta +string +header link +header string +keyword +keyword +string +comment +keyword +keyword +keyword +keyword +string +comment \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704.tokens b/atest/fixtures/highlighting/tokens/rfug/f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704.tokens new file mode 100644 index 0000000..5ea39a6 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/f11d6a7668d70b777258aa16146520ebffc9891b463cb53632afffd84ee02704.tokens @@ -0,0 +1,18 @@ +header link +meta +string +string +meta +string +string +string +string +string +string +string strong +string +string +meta +string +string +variable-2 \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8.tokens b/atest/fixtures/highlighting/tokens/rfug/f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8.tokens new file mode 100644 index 0000000..4401cf4 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/f39b39b3cd3c439b7588bb415577dcc29dcfd5d2ce4523f6193360813cbcb9b8.tokens @@ -0,0 +1,9 @@ +header link +header string +keyword +keyword +keyword +keyword +keyword +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4.tokens b/atest/fixtures/highlighting/tokens/rfug/fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4.tokens new file mode 100644 index 0000000..a59e65a --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/fa420f6bccf5d261b63e20c73d18b8df664e7b9417de3adfa564237e159d4ba4.tokens @@ -0,0 +1,30 @@ +header link +meta +string +string +string +atom +bracket +def +meta +string +string +string +atom +bracket +def +header link +header string +keyword +keyword +string +string +string +string +keyword +keyword +string +string +string +keyword +keyword \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486.tokens b/atest/fixtures/highlighting/tokens/rfug/fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486.tokens new file mode 100644 index 0000000..bfe4637 --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/fe8480f4197ffe02624f80c1f2d8c21e22c0b2e10fb7c8080240ff4dd21db486.tokens @@ -0,0 +1,89 @@ +header link +header string +variable-2 +number +variable-2 +bracket +variable-2 +number +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +keyword +variable-2 +number +variable-2 +string +string +keyword +keyword +keyword +variable-2 +number +variable-2 +string +string +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +keyword +variable-2 +bracket +number +bracket +string +string +keyword +keyword +keyword +variable-2 +bracket +number +bracket +string +string +variable-2 +number +variable-2 +bracket +variable-2 +number +variable-2 +bracket +variable-2 +operator +keyword +keyword +keyword +keyword +keyword +keyword +variable-2 +number +variable-2 +variable-2 +number +variable-2 +string +string +keyword +keyword +keyword +variable-2 +bracket +number +bracket +variable-2 +bracket +number +bracket +string +string \ No newline at end of file diff --git a/atest/fixtures/highlighting/tokens/rfug/fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b.tokens b/atest/fixtures/highlighting/tokens/rfug/fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b.tokens new file mode 100644 index 0000000..f7a1f0b --- /dev/null +++ b/atest/fixtures/highlighting/tokens/rfug/fee50dc83ea12e719f26789ebd9fdcc0e910b3bd36663f80133030c70500d54b.tokens @@ -0,0 +1,8 @@ +header link +meta +string +meta +string +meta +variable-2 +string \ No newline at end of file diff --git a/atest/resources/CodeMirror.robot b/atest/resources/CodeMirror.robot index be284b0..cfa579d 100644 --- a/atest/resources/CodeMirror.robot +++ b/atest/resources/CodeMirror.robot @@ -2,6 +2,7 @@ *** Settings *** Documentation JupyterLab Notebook activities Library SeleniumLibrary +Library Collections Resource Lab.robot *** Variables *** @@ -18,7 +19,7 @@ Evaluate Cell CodeMirror Set Cell Source [Documentation] Set the source of a cell [Arguments] ${code} - ${result} = Evaluate Cell CodeMirror setValue(`${code}`) + ${result} = Evaluate Cell CodeMirror setValue(${code.split("\n")}.join("\\n")) [Return] ${result} Append to Cell Source @@ -50,9 +51,36 @@ Cell Source Should Contain ${result} = Get Cell Source Should Contain ${result} ${text} +Cell Source Should Eventually Contain + [Documentation] Whether source of a cell contains given text (eventually) + [Arguments] ${text} + Wait Until Keyword Succeeds 5x 1s Cell Source Should Contain ${text} + +Cell Source Tokens Should Equal + [Documentation] Whether a cell is highlighted as expected + [Arguments] ${expected_tokens} + ${observed_tokens} = Get Cell Source Tokens + Should Be Equal As Numbers ${observed_tokens.__len__()} ${expected_tokens.__len__()} + FOR ${i} ${el} IN ENUMERATE @{observed_tokens} + Element Should Only Have Classes ${el} ${expected_tokens[${i}]} + END + +Get Cell Source Tokens + [Documentation] Extract the current cell tokens + ${tokens} = Create List + ${els} = Get WebElements css:${VISIBLE_NOTEBOOK} ${CELL_CSS} .CodeMirror-lines span[class^='cm-'] + FOR ${el} IN @{els} + ${raw_classes} = Call Method ${el} get_attribute class + ${observed} = Set Variable ${raw_classes.replace("cm-", "").split(" ")} + ${sorted} = Evaluate sorted(${observed}) + Run Keyword If "tab-wrap-hack" not in ${sorted} Append To List ${tokens} ${sorted} + END + [Return] ${tokens} + Trigger Cell Source Completion [Documentation] Initiate Tab Complete Press Key css:body \\9 + Wait Until Kernel Is Idle Completions Should Contain [Documentation] Does the completer show the expected completions? diff --git a/atest/resources/Elements.robot b/atest/resources/Elements.robot new file mode 100644 index 0000000..de40a67 --- /dev/null +++ b/atest/resources/Elements.robot @@ -0,0 +1,12 @@ +*** Settings *** +Documentation Keywords for checking things about WebElements +Library SeleniumLibrary + +*** Keywords *** +Element Should Only Have Classes + [Documentation] Does the given element only have the given CSS classes? + [Arguments] ${el} ${expected_classes} + ${raw_classes} = Call Method ${el} get_attribute class + ${observed} = Set Variable ${raw_classes.split(" ")} + ${difference} = Evaluate set(${expected_classes}).symmetric_difference(set(${observed})) + Should Be Empty ${difference} diff --git a/atest/resources/Highlight.robot b/atest/resources/Highlight.robot new file mode 100644 index 0000000..a01d195 --- /dev/null +++ b/atest/resources/Highlight.robot @@ -0,0 +1,30 @@ +*** Settings *** +Resource Lab.robot +Resource Browser.robot +Resource Notebook.robot +Resource LabRobot.robot +Resource CodeMirror.robot +Resource Elements.robot +Library SeleniumLibrary +Library OperatingSystem + +*** Keywords *** +Robot Syntax Highlighting Should Yield Tokens + [Documentation] Makes sure some notebook highlighting tokens are correct + [Arguments] ${example} + Run Keyword And Ignore Error Click Element css:.jp-Dialog-button.jp-mod-accept + ${robot} = Get File ..${/}fixtures${/}highlighting${/}samples${/}${example}.robot + Add a Cell ${robot} + Run Keyword And Ignore Error Click Element ${SAVE} + ${observed} = Get Cell Source Tokens + ${cake} = Evaluate "\\n".join([" ".join(obs) for obs in ${observed}]) + Create File ${OUTPUT DIR}${/}tokens${/}${example}.tokens ${cake} + ${raw} = Get File ..${/}fixtures${/}highlighting${/}tokens${/}${example}.tokens + ${expected} = Evaluate [line.strip().split(" ") for line in """${raw}""".strip().split("\\n")] + Should Be Equal ${observed} ${expected} + +Make a Highlighting Notebook + [Documentation] Make a notebook for testing syntax highlighting + Open JupyterLab with ${BROWSER} + Set Screenshot Directory ${OUTPUT_DIR}${/}robot${/}highlighting + Launch a new Robot Framework Notebook diff --git a/atest/resources/Lab.robot b/atest/resources/Lab.robot index 2c17392..60ebeca 100644 --- a/atest/resources/Lab.robot +++ b/atest/resources/Lab.robot @@ -4,21 +4,16 @@ Library Process Library BuiltIn Library SeleniumLibrary Library OperatingSystem +Library String Resource Selectors.robot Resource Commands.robot -*** Variables *** -${TOKEN} hopelesslyinsecure -${LAB_CMD} jupyter-lab --no-browser --NotebookApp.token=${TOKEN} --port 18888 --debug --ip=0.0.0.0 -${BASE_URL} http://localhost:18888 -${LAB_URL} ${BASE_URL}/lab?token=${TOKEN} -${TREE_URL} ${BASE_URL}/tree?token=${TOKEN} *** Keywords *** Wait for Splash Screen [Documentation] Wait for the JupyterLab splash animation to run its course - Wait Until Page Contains Element ${SPLASH_ID} - Wait Until Page Does Not Contain Element ${SPLASH_ID} + Wait Until Page Contains Element ${SPLASH_ID} timeout=30s + Wait Until Page Does Not Contain Element ${SPLASH_ID} timeout=30s Sleep 0.1s Launch a new @@ -32,10 +27,25 @@ Launch a new Start JupyterLab [Documentation] Start a Jupyter Notebook Server with JupyterLab ${notebooks} = Set Variable ${OUTPUT_DIR}${/}_notebooks + ${token} = Generate Random String 64 + Set Suite Variable ${TOKEN} ${token} children=${True} + Set Suite Variable ${LAB_CMD} jupyter-lab --no-browser --NotebookApp.token=${TOKEN} --port 18888 children=${True} + Set Suite Variable ${BASE_URL} http://localhost:18888 children=${True} + Set Suite Variable ${LAB_URL} ${BASE_URL}/lab?token=${TOKEN} children=${True} + Set Suite Variable ${TREE_URL} ${BASE_URL}/tree?token=${TOKEN} children=${True} + Set Suite Variable ${SHUTDOWN_URL} ${BASE_URL}/api/shutdown?token=${TOKEN} children=${True} ${log} = Set Variable ${OUTPUT_DIR}${/}_lab.log ${cmd} = Set Variable ${LAB_CMD} --notebook-dir=${notebooks} Create Directory ${notebooks} - Start Process ${cmd} shell=true stderr=STDOUT stdout=${log} + ${proc} = Start Process ${cmd} shell=true stderr=STDOUT stdout=${log} + Set Suite Variable ${LAB_PROC} ${proc} children=True + Wait Until Keyword Succeeds 10x 1s Lab Was Started ${log} + +Lab Was Started + [Arguments] ${log} + [Documentation] Check whether the lab server was started and listening + ${text} = Get File ${log} + Should Contain ${text} The Jupyter Notebook is running Click JupyterLab Menu [Arguments] ${menu_label} @@ -62,15 +72,15 @@ Open JupyterLab with Reset Application State and Close [Documentation] Try to clean up after doing some things to the JupyterLab state Run Keyword And Ignore Error Click Element ${SAVE} + Execute JupyterLab Command Close All Execute JupyterLab Command Reset Application State Close All Browsers Clean Up JupyterLab [Documentation] Close all the browsers and stop all processes - Open JupyterLab with ${BROWSER} - Go to ${TREE_URL} - Click Element css:#shutdown Close All Browsers + Run Keyword and Ignore Error Execute __import__("urllib.request").request.urlopen("${SHUTDOWN_URL}", data=[]) + Run Keyword and Ignore Error Wait For Process ${LAB_PROC} timeout=10s Terminate All Processes kill=True Maybe Accept a JupyterLab Prompt diff --git a/atest/resources/Notebook.robot b/atest/resources/Notebook.robot index 03a223c..0a55f66 100644 --- a/atest/resources/Notebook.robot +++ b/atest/resources/Notebook.robot @@ -8,7 +8,8 @@ Resource CodeMirror.robot *** Variables *** ${VISIBLE_NOTEBOOK} .jp-NotebookPanel:not(.p-mod-hidden) ${BUSY_KERNEL} css:${VISIBLE_NOTEBOOK} .jp-Toolbar-kernelStatus.jp-FilledCircleIcon -${BUSY_PROMPT} In [*]: +${BUSY_PROMPT} [*]: +${PROMPT} css:.jp-InputPrompt *** Keywords *** @@ -16,7 +17,7 @@ Add a Cell [Documentation] Add a cell (probably code) with the given source [Arguments] ${code} Click Element css:${VISIBLE_NOTEBOOK} .jp-NotebookPanel-toolbar .jp-AddIcon - Sleep 0.1s + Wait Until Page Contains Element css:${VISIBLE_NOTEBOOK} ${CELL_CSS} Click Element css:${VISIBLE_NOTEBOOK} ${CELL_CSS} Set Cell Source ${code} @@ -35,4 +36,4 @@ Run Cell Wait Until Kernel Is Idle [Documentation] Wait for the kernel to be busy, and then stop being busy Wait Until Page Does Not Contain Element ${BUSY_KERNEL} - Wait Until Page Does Not Contain ${BUSY_PROMPT} + Wait Until Element Does Not Contain ${PROMPT} ${BUSY_PROMPT} diff --git a/atest/tools/SyntaxCheckerLibrary.ipynb b/atest/tools/SyntaxCheckerLibrary.ipynb new file mode 100644 index 0000000..cd96d5c --- /dev/null +++ b/atest/tools/SyntaxCheckerLibrary.ipynb @@ -0,0 +1,249 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## A Widget for Inspecting Highlighting\n", + "Manually testing syntax highlighting is one approach for catching regressions. This widget will look at a token file created by `Get Cell Source Tokens`, and compare it with a known-good fixture.\n", + "\n", + "If it finds any difference, it will show a link to the sample in question which will pop open a new editor in JupyterLab. If you manually verify the output, you can `Trust` the sample and copy the token file into the expected location.\n", + "\n", + "### So What?\n", + "While this may not be _immediately_ useful to you unless you are writing a syntax highlighter, the pattern is useful for all kinds of automation/testing workflows:\n", + "\n", + "- write a test that generates some structured output\n", + "- compare the output to a known good example (if available)\n", + "- provide a way to incrementally (and interactively!) for a person to improve the fixture data\n", + "- repeat the test until you're done" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import shutil, re, traitlets as T, IPython.display as D, ipywidgets as W\n", + "from pathlib import Path\n", + "from difflib import context_diff\n", + "from robot.libraries.BuiltIn import BuiltIn" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class SyntaxChecker(W.Widget):\n", + " sample_root = T.Instance(Path)\n", + " sample_glob = T.Unicode()\n", + " trusted_root = T.Instance(Path)\n", + " observed_root = T.Instance(Path)\n", + " blacklist = T.Tuple()\n", + "\n", + " samples = T.Dict()\n", + " trusted = T.Dict()\n", + " observed = T.Dict()\n", + " disagree = T.Dict()\n", + " \n", + " def __init__(self, *args, **kwargs):\n", + " super().__init__(*args, **kwargs)\n", + " self._ndlink([\"sample_root\", \"sample_glob\"], \"samples\", self._update_samples)\n", + " self._ndlink([\"observed_root\"], \"observed\", self._update_observed)\n", + " self._ndlink([\"trusted_root\"], \"trusted\", self._update_trusted)\n", + " self._ndlink([\"trusted\", \"observed\"], \"disagree\", self._update_disagree)\n", + " \n", + " def _ndlink(self, src, dest, handler):\n", + " [T.dlink((self, s), (self, dest), handler) for s in src]\n", + " \n", + " def _rel_stem(self, path, root):\n", + " return str(path.relative_to(root))[:-len(path.suffix)]\n", + " \n", + " def _stem_dict(self, root, pattern):\n", + " if root and pattern:\n", + " return {\n", + " self._rel_stem(p, root): p\n", + " for p in root.glob(pattern)\n", + " if all([b not in str(p) for b in self.blacklist])\n", + " }\n", + " else:\n", + " return {}\n", + " \n", + " \n", + " def _update_samples(self, _):\n", + " return self._stem_dict(self.sample_root, self.sample_glob)\n", + " \n", + " def _update_observed(self, _):\n", + " return self._stem_dict(self.observed_root, \"**/*.tokens\")\n", + " \n", + " def _update_trusted(self, _):\n", + " return self._stem_dict(self.trusted_root, \"**/*.tokens\")\n", + " \n", + " def _update_disagree(self, _):\n", + " disagree = {}\n", + " for k, v in self.observed.items():\n", + " observed = v.read_text()\n", + " if k in self.trusted:\n", + " trusted = self.trusted[k].read_text()\n", + " else:\n", + " trusted = \"\"\n", + " if observed != trusted:\n", + " disagree[k] = \"\\n\".join(\n", + " context_diff(observed.split(\"\\n\"), \n", + " trusted.split(\"\\n\")))\n", + " return disagree\n", + " \n", + " def _disagree_row(self, k, v):\n", + " link = W.Output()\n", + " link.layout.flex = \"1\"\n", + " btn = W.Button(description=\"Trust?\", button_style=\"primary\")\n", + " btn.layout.flex = \"0\"\n", + " btn.layout.min_width = \"10em\"\n", + " n = \"\\n\"\n", + " changes = W.HTML(f\"\"\"
\n", + " {len(v.split(n))} changes\n", + "
{v}
\"\"\")\n", + " changes.layout.flex = \"1\"\n", + " \n", + " @link.capture()\n", + " def _show():\n", + " D.display(D.Markdown(f\"[{k}]({self.samples[k]})\"))\n", + " \n", + " def _click(btn):\n", + " if btn.description == \"Trust?\":\n", + " btn.description = \"Confirm?\"\n", + " btn.button_style = \"warning\"\n", + " elif btn.description == \"Confirm?\":\n", + " observed = self.observed[k]\n", + " trusted = (\n", + " self.trusted_root \n", + " / observed.relative_to(self.observed_root)\n", + " )\n", + " trusted.parent.mkdir(parents=True, exist_ok=True)\n", + " shutil.copy(observed, trusted)\n", + " btn.description = \"Trusted!\"\n", + " btn.button_style = \"success\"\n", + " \n", + " btn.on_click(_click)\n", + " \n", + " _show()\n", + " box = W.HBox([link, changes, btn])\n", + " box.layout.display = \"flex\"\n", + " return box\n", + " \n", + " def show_disagree(self):\n", + " return W.VBox([W.HTML(\"

Untrusted Samples

\")] + ([\n", + " self._disagree_row(k, v) for k, v in self.disagree.items()\n", + " ] or [W.HTML(\"

Nothing to report!

\")]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Not sure if this is actually importable yet, but for now gate behind a `__main__` check for immediate testing." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9c17615ff2b542b8b10ff4e1bfce26a5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(HTML(value='

Untrusted Samples

'), HBox(children=(Output(layout=Layout(flex='1')), HTML(…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "if __name__ == \"__main__\":\n", + " try: del checker\n", + " except: pass\n", + " checker = SyntaxChecker(\n", + " sample_root=Path(\"..\") / \"fixtures\" / \"highlighting\" / \"samples\",\n", + " observed_root=Path(\"../..\") / \"_testoutput\" / \"robot\" / \"linux\" / \"headlessfirefox\" / \"36\" / \"tokens\",\n", + " trusted_root=Path(\"..\") / \"fixtures\" / \"highlighting\" / \"tokens\",\n", + " sample_glob=\"**/*.robot\",\n", + " blacklist=[\"ipynb_checkpoints\"]\n", + " )\n", + " try: del disagree\n", + " except: pass\n", + " disagree = checker.show_disagree()\n", + " D.display(disagree)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's expose it as a Robot Framework keyword. We'll use the `OperatingSystem` library to normalize the paths. Thanks to `importnb`, the next markdown cell will be the in-browser documentatin of `SyntaxCheckerLibrary.Show Syntax Checker`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Displays a visual verification tool for validating syntax highlighting specimens.\n", + "\n", + "Loads pairs of like-named token files from `trusted_root` and `observed_root` and shows a clickable link which will open the like-named file from `sample_root` and a button for copying from the `observed` to `trusted`. By default, it looks for a `sample_glob` of `.robot` files, but other syntaxes should work. Additionally, a `blacklist` of file patterns can be provided, which ignores `ipynb_checkpoints` by default.\n", + "\n", + "> _Note: This doesn't work particularly well with `irobotframework` at present, as by the time the widget is displayed, the test directory has already been destroyed: some careful path work could make it work, however. Also, while each syntax excursion is cheap, the setup/teardown cycle is fairly long, making it infeasible for in-the-loop testing_" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def show_syntax_checker(sample_root, trusted_root, observed_root, blacklist=[\"ipynb_checkpoints\"], sample_glob=\"**/*.robot\"):\n", + " try:\n", + " osl = BuiltIn().get_library_instance(\"OperatingSystem\")\n", + " except:\n", + " BuiltIn().import_library(\"OperatingSystem\")\n", + " osl = BuiltIn().get_library_instance(\"OperatingSystem\")\n", + " \n", + " checker = SyntaxChecker(\n", + " sample_root=Path(osl.normalize_path(sample_root)),\n", + " observed_root=Path(osl.normalize_path(observed_root)), \n", + " trusted_root=Path(osl.normalize_path(trusted_root)), \n", + " blacklist=blacklist,\n", + " sample_glob=sample_glob,\n", + " )\n", + " return checker.show_disagree()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/atest/tools/__init__.py b/atest/tools/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ci/steps.conda.build.js.yml b/ci/steps.conda.build.js.yml index 17ba958..76161f6 100644 --- a/ci/steps.conda.build.js.yml +++ b/ci/steps.conda.build.js.yml @@ -6,6 +6,6 @@ steps: updateConda: false environmentName: _buildjs packageSpecs: > - jupyterlab>=0.35.4,<0.36 + jupyterlab>=0.35.6,<0.36 nodejs>=8.12,<9 python>=3.7,<3.8 diff --git a/ci/steps.conda.test.yml b/ci/steps.conda.test.yml index 90d1c75..912f807 100644 --- a/ci/steps.conda.test.yml +++ b/ci/steps.conda.test.yml @@ -11,7 +11,7 @@ steps: updateConda: true environmentName: _unit$(PY_VERSION) packageSpecs: > - importnb>=0.5.2 + importnb>=0.5.5 ipykernel>=5.1 ipython>=7.2 jinja2 @@ -19,7 +19,7 @@ steps: pillow pytest-cov python$(PY_SPEC) - robotframework>=3.1 + robotframework>=3.1.2 - ${{ if eq(parameters.name, 'Windows') }}: - task: CondaEnvironment@1 condition: eq(variables['TEST_KIND'], 'acceptance') @@ -30,18 +30,18 @@ steps: environmentName: _accept$(PY_VERSION) packageSpecs: > geckodriver - importnb>=0.5.2 + importnb>=0.5.5 ipykernel>=5.1 ipython>=7.2 - jupyterlab>=0.35.4,<0.36 + jupyterlab>=0.35.6,<0.36 + jupyter_server pillow python$(PY_SPEC) - python-chromedriver-binary==2.42 + python-chromedriver-binary>=2.46,<73 robotframework-seleniumlibrary>=3.2.0 - robotframework>=3.1 - selenium>=3.141.0 + robotframework>=3.1.2 - - ${{ if not(eq(parameters.name, 'Windows')) }}: + - ${{ if eq(parameters.name, 'Linux') }}: - task: CondaEnvironment@1 condition: eq(variables['TEST_KIND'], 'acceptance') inputs: @@ -51,16 +51,15 @@ steps: environmentName: _accept$(PY_VERSION) packageSpecs: > geckodriver - importnb>=0.5.2 + importnb>=0.5.5 ipykernel>=5.1 ipython>=7.2 - jupyterlab>=0.35.4,<0.36 + jupyterlab>=0.35.6,<0.36 pillow python$(PY_SPEC) - python-chromedriver-binary>=2.45 + python-chromedriver-binary>=73,<74 robotframework-seleniumlibrary>=3.2.0 robotframework>=3.1 - selenium>=3.141.0 - task: CondaEnvironment@1 condition: eq(variables['TEST_KIND'], 'unit') inputs: @@ -69,7 +68,7 @@ steps: updateConda: false environmentName: _unit$(PY_VERSION) packageSpecs: > - importnb>=0.5.2 + importnb>=0.5.5 ipykernel>=5.1 ipython>=7.2 jinja2 @@ -77,4 +76,41 @@ steps: pillow pytest-cov python$(PY_SPEC) + robotframework>=3.1.2 + + - ${{ if eq(parameters.name, 'MacOSX') }}: + - task: CondaEnvironment@1 + condition: eq(variables['TEST_KIND'], 'acceptance') + inputs: + createOptions: -c defaults -c conda-forge + createCustomEnvironment: true + updateConda: false + environmentName: _accept$(PY_VERSION) + packageSpecs: > + geckodriver + importnb>=0.5.5 + ipykernel>=5.1 + ipython>=7.2 + jupyterlab>=0.35.6,<0.36 + pillow + python$(PY_SPEC) + python-chromedriver-binary>=74,<75 + robotframework-seleniumlibrary>=3.2.0 robotframework>=3.1 + - task: CondaEnvironment@1 + condition: eq(variables['TEST_KIND'], 'unit') + inputs: + createOptions: -c defaults -c conda-forge + createCustomEnvironment: true + updateConda: false + environmentName: _unit$(PY_VERSION) + packageSpecs: > + importnb>=0.5.5 + ipykernel>=5.1 + ipython>=7.2 + jinja2 + jupyter_kernel_test + pillow + pytest-cov + python$(PY_SPEC) + robotframework>=3.1.2 diff --git a/docs/Contributing.ipynb b/docs/Contributing.ipynb index 8d86598..12c4091 100644 --- a/docs/Contributing.ipynb +++ b/docs/Contributing.ipynb @@ -15,6 +15,7 @@ "\n", "- More test coverage\n", "- More documentation\n", + "- More syntax cases\n", "- Useful magics\n", "- JupyterLab MIME renderer for Robot `output.xml`" ] @@ -78,7 +79,66 @@ "\n", "Make sure everything is on the up-and-up with [integration tests](https://github.com/gtri/irobotframework/src/atest)...\n", "\n", - " anaconda-project run test:robot\n" + " anaconda-project run test:robot" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Syntax Highlighting\n", + "\n", + "The `jupyterlab-robotframework` syntax highlighting mode is tested against known-good fixtures from:\n", + "- the Robot Framework User's Guide (RFUG)\n", + "- some degenerate examples\n", + "\n", + "The `atest/fixtures/highlighting` has two parallel directories, `samples` and `tokens`. Under test, each `sample` of Robot syntax is added to a notebook, and the stream of tokens compared with the expected `tokens`. For example,\n", + "\n", + "```robotframework\n", + "*** Test Cases ***\n", + "A Test Case\n", + " Log Hello World\n", + "```\n", + "\n", + "expects the following `.tokens` file:\n", + "\n", + "```\n", + "header link\n", + "header string\n", + "keyword\n", + "string\n", + "string\n", + "```\n", + "\n", + "During testing, the observed tokens are also written out to the `_testoutput`. After a test run, `atest/tools/SyntaxChecker.ipynb` can be used to visually compare non-agreeing observations, and copy them to `atext/fixtures` if correct:\n", + "\n", + " anaconda-project run --env-spec hack bootstrap\n", + " anaconda-project run --env-spec hack lab" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Rebuilding the Syntax Samples\n", + "\n", + "The RFUG samples can be rebuilt from the `robotframework` source (included as a submodule in `vendor`).\n", + "\n", + " git submodule update --init\n", + " anaconda-project run build:rfug\n", + " anaconda-proejct run test:robot\n", + "\n", + "When a new version of Robot Framework is released, new values might appear and old ones might disappear, as the actual content of the robot code blocks from the generated HTML is hashed. Since these changes may include typo fixes, it's _mostly harmless_ to remove stale hashes and their corresponding tokens." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Syntax: Future Work\n", + "- Because they are already _in_ the submodule, the 1000+ `.robot` files in the Robot test suite itself would be great to use as a larger baseline for visual comparison: \n", + " - It would only take a few hours initially, and less per subsequent release, to validate all of the positive cases... though syntax bugs may well be discovered, which could take more time\n", + "- Going beyond known fixtures, a [hypothesis](https://hypothesis.readthedocs.io/en/latest/)-based generator of syntactically possible documents would be useful" ] }, { @@ -106,6 +166,9 @@ "\n", "This is mostly handled by CI, but you can **build** all of the output packages into `./dist`.\n", "\n", + "Clear out your repo (or do a fresh checkout)...\n", + " \n", + " git clean -dxf # DANGER this will delete everything not checked into git!\n", " anaconda-project run build:pip:sdist\n", " anaconda-project run build:pip:wheel\n", " anaconda-project run build:npm\n", @@ -120,10 +183,6 @@ "## Release\n", "This is _also_ mostly handled by CI, but here is the rough outline.\n", "\n", - "Clear out your repo (or do a fresh checkout)...\n", - " \n", - " git clean -dxf\n", - "\n", "Preflight the release...\n", "\n", " anaconda-project run test:release\n", diff --git a/environment.yml b/environment.yml index 5af9a36..00d5a62 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: default +name: irobotframework-minimal channels: - conda-forge @@ -6,10 +6,10 @@ channels: dependencies: - python >=3.6,<3.7 - - importnb >=0.5.2 + - importnb >=0.5.5 - ipykernel >=5.1 - ipython >=7.2 - - jupyterlab >=0.35.4,<0.36 + - jupyterlab >=0.35.6,<0.36 - nodejs >=8.12,<9 - pillow - robotframework >=3.1 diff --git a/scripts/__init__.py b/scripts/__init__.py index 36198d9..7dcb418 100644 --- a/scripts/__init__.py +++ b/scripts/__init__.py @@ -1,12 +1,11 @@ # Copyright (c) 2018 Georgia Tech Research Corporation # Distributed under the terms of the BSD-3-Clause License -from pathlib import Path +import json import platform import subprocess import sys -import json - +from pathlib import Path PLATFORM = platform.system().lower() PY = "{}{}".format(*list(sys.version_info)[:2]) @@ -19,6 +18,10 @@ SRC = ROOT / "src" SCRIPTS = ROOT / "scripts" DOCS = ROOT / "docs" +TOOLS = ROOT / "atest" / "tools" +DIST = ROOT / "dist" +VENDOR = ROOT / "vendor" +FIXTURES = ROOT / "atest" / "fixtures" COPYRIGHT_RE = r"Copyright \(c\) (\d{4}(\s-\s\d{4})?) Georgia Tech Research Corporation" diff --git a/scripts/bootstrap.py b/scripts/bootstrap.py index cdf8cca..5d32f2a 100644 --- a/scripts/bootstrap.py +++ b/scripts/bootstrap.py @@ -11,13 +11,13 @@ PIP_ARGS = "pip install --ignore-installed --no-deps --no-cache-dir" COMMANDS = dict( + dev=f"{PIP_ARGS} -e .", + kernel=f"jupyter kernelspec install --name robotframework --sys-prefix {RES}", js="jlpm bootstrap", lint="python -m scripts.test lint", build="python -m scripts.build", sdist=lambda: f"{PIP_ARGS} {sdist()}", wheel=lambda: f"{PIP_ARGS} {wheel()}", - dev=f"{PIP_ARGS} -e .", - kernel=f"jupyter kernelspec install --name robotframework --sys-prefix {RES}", test="python -m scripts.test", ) diff --git a/scripts/build.py b/scripts/build.py index e8301e1..7481d3c 100644 --- a/scripts/build.py +++ b/scripts/build.py @@ -11,6 +11,8 @@ def sdist(sdist_args): + """ Build the source distribution + """ rc = run(["python", "setup.py", "clean"]) if rc != 0: return rc @@ -18,6 +20,8 @@ def sdist(sdist_args): def wheel(wheel_args): + """ Build the wheel + """ rc = run(["python", "setup.py", "clean"]) if rc != 0: return rc @@ -27,10 +31,14 @@ def wheel(wheel_args): def lerna(lerna_args): + """ Build the lerna packages + """ return run(["jlpm", "build"] + lerna_args) def npm(npm_args): + """ pack up the extensions + """ src_dirs = sum([list(ROOT.glob(ws)) for ws in PACKAGE["workspaces"]], []) out_dir = DIST / "npm" @@ -50,6 +58,8 @@ def npm(npm_args): def jupyterlab(extra_args): + """ build a jupyterlab + """ with tempfile.TemporaryDirectory() as td: tdp = Path(td) @@ -76,6 +86,8 @@ def jupyterlab(extra_args): def docs(extra_args): + """ build the docs + """ try: import sphinx diff --git a/scripts/nblint.py b/scripts/nblint.py new file mode 100644 index 0000000..e6a289f --- /dev/null +++ b/scripts/nblint.py @@ -0,0 +1,31 @@ +# Copyright (c) 2018 Georgia Tech Research Corporation +# Distributed under the terms of the BSD-3-Clause License + +from nbformat import NO_CONVERT, reads, write + +from . import DOCS, TOOLS + + +def strip(): + """ Remove outputs and execution counts from notebook files, as robot + notebooks are _really_ huge and unreproducible. + """ + for root in [DOCS, TOOLS]: + for ipynb_file in root.rglob("*.ipynb"): + nbf = reads(ipynb_file.read_text(), NO_CONVERT) + changed = False + for cell in nbf.cells: + if cell.cell_type == "code": + if cell.outputs: + cell.outputs = [] + changed = True + if cell.execution_count: + cell.execution_count = None + changed = True + if changed: + print(f"remove outputs/execution counts from {ipynb_file}") + write(nbf, str(ipynb_file)) + + +if __name__ == "__main__": + strip() diff --git a/scripts/rfug.py b/scripts/rfug.py new file mode 100644 index 0000000..e680aee --- /dev/null +++ b/scripts/rfug.py @@ -0,0 +1,69 @@ +# Copyright (c) 2018 Georgia Tech Research Corporation +# Distributed under the terms of the BSD-3-Clause License + +import re +import subprocess +import sys +from hashlib import sha256 + +from lxml import html + +from . import FIXTURES, ROOT, VENDOR + +ROBOT = VENDOR / "robotframework" +UG = ROBOT / "doc" / "userguide" +UG_DOC = UG / "RobotFrameworkUserGuide.html" + + +def is_robot_src(el): + txt = el.text_content() + if ".. code::" in txt: + return False + return re.findall( + r"\*\s*(setting|test case|task|keyword|variable)s?", + el.text_content(), + flags=re.I, + ) + + +def build_hashes(): + ug = html.parse(str(UG_DOC)) + + return { + sha256(el.text_content().encode("utf-8")).hexdigest(): el.text_content() + for el in [el for el in ug.xpath("//*[@class='highlight']") if is_robot_src(el)] + } + + +def write_fixtures(hashes): + fixture_path = FIXTURES / "highlighting" / "samples" / "rfug" + for sha, txt in sorted(hashes.items()): + out_file = fixture_path / f"{sha}.robot" + out_file.write_text(txt) + + robot_lines = [] + + for out_file in sorted(fixture_path.glob("*.robot")): + robot_lines += [ + str(out_file.relative_to(out_file.parent.parent)) + .replace(".robot", "") + .replace("/", "${/}") + ] + + return robot_lines + + +def rfug_fixtures(): + if not ROBOT.exists(): + subprocess.check_call(["git", "submodule", "update", "--init"], cwd=str(ROOT)) + subprocess.check_call(["python", "ug2html.py", "create"], cwd=str(UG)) + + hashes = build_hashes() + lines = write_fixtures(hashes) + print("\n".join(lines)) + + return 0 + + +if __name__ == "__main__": + sys.exit(rfug_fixtures()) diff --git a/scripts/test.py b/scripts/test.py index 01face5..f32b5b3 100644 --- a/scripts/test.py +++ b/scripts/test.py @@ -92,10 +92,15 @@ def unit(pytest_args): def acceptance(robot_args): - import chromedriver_binary # noqa + import robot + + try: + import chromedriver_binary + except ImportError: + print("couldn't import chromedriver") + chromedriver_binary = None global BROWSER - env = dict(**os.environ) with TemporaryDirectory() as td: tdp = Path(td) @@ -109,8 +114,10 @@ def acceptance(robot_args): robot_args.remove(BROWSER) os.environ["BROWSER"] = BROWSER - env.update( - PATH=os.pathsep.join( + os.environ.update( + PATH=os.environ["path"] + if chromedriver_binary is None + else os.pathsep.join( [os.path.dirname(chromedriver_binary.__file__), os.environ["PATH"]] ), JUPYTERLAB_DIR=str(tdp / "lab"), @@ -125,9 +132,6 @@ def acceptance(robot_args): args = ( [ - sys.executable, - "-m", - "robot", "--name", f"{BROWSER} on {PLATFORM} on {PY}", "--outputdir", @@ -154,7 +158,14 @@ def acceptance(robot_args): + list(robot_args) + [str(TEST_DIR)] ) - return run(args, env=env) + + old_cwd = os.getcwd() + + try: + os.chdir(TEST_DIR) + robot.run_cli(args) + finally: + os.chdir(old_cwd) def combine(rebot_args): diff --git a/setup.py b/setup.py index 351670a..2628ba8 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,7 @@ package_dir={"": "src"}, packages=setuptools.find_packages("src"), install_requires=[ - "importnb>=0.5.2", + "importnb>=0.5.5", "ipykernel>=5.1", "IPython>=7.2", "jinja2", diff --git a/src/irobotframework/__init__.py b/src/irobotframework/__init__.py index 4695229..e63687b 100644 --- a/src/irobotframework/__init__.py +++ b/src/irobotframework/__init__.py @@ -5,13 +5,11 @@ """ from ._version import __version__ # noqa - -from .magic.robot import register_robot_cell_magic, unregister_robot_cell_magic from .completer import ( register_robot_completion_finder, unregister_robot_completion_finder, ) - +from .magic.robot import register_robot_cell_magic, unregister_robot_cell_magic __all__ = [ "load_ipython_extension", diff --git a/src/irobotframework/tests/test_completion.py b/src/irobotframework/tests/test_completion.py index f542edc..d5648b7 100644 --- a/src/irobotframework/tests/test_completion.py +++ b/src/irobotframework/tests/test_completion.py @@ -4,7 +4,6 @@ """ Pure python tests of completion behavior """ import jupyter_kernel_test - from irobotframework.completion_finders import TABLE_NAMES from . import RobotBase diff --git a/src/irobotframework/tests/test_magic.py b/src/irobotframework/tests/test_magic.py index a966662..37b94b0 100644 --- a/src/irobotframework/tests/test_magic.py +++ b/src/irobotframework/tests/test_magic.py @@ -4,7 +4,6 @@ import jupyter_kernel_test import pytest - from irobotframework.magic.robot import cell_magic_tidy from . import IPythonMagicBase, RobotBase diff --git a/src/packages/jupyterlab-robotframework/src/mode.ts b/src/packages/jupyterlab-robotframework/src/mode.ts index ac90cbc..0daab94 100644 --- a/src/packages/jupyterlab-robotframework/src/mode.ts +++ b/src/packages/jupyterlab-robotframework/src/mode.ts @@ -21,6 +21,56 @@ import 'codemirror/addon/mode/simple'; import * as CodeMirror from 'codemirror'; +/** All the possible states: pushing non-existing states == bad */ +export type TMainState = 'test_cases' | 'keywords' | 'settings' | 'variables'; +export type TState = + | TMainState + | 'double_string' + | 'keyword_def' + | 'keyword_invocation' + | 'keyword_invocation_no_continue' + | 'library' + | 'loop_body_old' + | 'loop_start_new' + | 'loop_start_old' + | 'single_string' + | 'start' + | 'tags' + | 'tags_comma' + | 'variable_index' + | 'variable_property' + | 'variable'; + +/** the tokens we use */ +export enum TT { + AM = 'atom', + AT = 'attribute', + BE = 'builtin.em', + BI = 'builtin', + BK = 'bracket', + CM = 'comment', + DF = 'def', + HL = 'header.link', + KW = 'keyword', + MT = 'meta', + NB = 'number', + OP = 'operator', + PC = 'punctuation', + PR = 'property', + SE = 'string.em', + SH = 'string.header', + SS = 'string.strong', + SSE = 'string.strong.em', + S2 = 'string-2', + ST = 'string', + TG = 'tag', + V2 = 'variable-2' +} + +export function LINK(token: TT): TT { + return (token + '.link') as any; +} + /** An implementation of the CodeMirror simple mode object @@ -30,13 +80,13 @@ interface ISimpleState { /** The regular expression that matches the token. May be a string or a regex object. When a regex, the ignoreCase flag will be taken into account when matching the token. This regex has to capture groups when the token property is an array. If it captures groups, it must capture all of the string (since JS provides no way to find out where a group matched). */ regex: string | RegExp; /// An optional token style. Multiple styles can be specified by separating them with dots or spaces. When this property holds an array of token styles, the regex for this rule must capture a group for each array item. - token?: string | string[] | null; + token?: TT | TT[] | null; /// When true, this token will only match at the start of the line. (The ^ regexp marker doesn't work as you'd expect in this context because of limitations in JavaScript's RegExp API.) sol?: boolean; /// When a next property is present, the mode will transfer to the state named by the property when the token is encountered. - next?: string; + next?: TState; /// Like next, but instead replacing the current state by the new state, the current state is kept on a stack, and can be returned to with the pop directive. - push?: string; + push?: TState; /// When true, and there is another state on the state stack, will cause the mode to pop that state off the stack and transition to it. pop?: boolean; /// Can be used to embed another mode inside a mode. When present, must hold an object with a spec property that describes the embedded mode, and an optional end end property that specifies the regexp that will end the extent of the mode. When a persistent property is set (and true), the nested mode's state will be preserved between occurrences of the mode. @@ -54,45 +104,34 @@ interface ISimpleState { } /** A string-keyed set of simple state lists */ -export interface IStates { - [key: string]: ISimpleState[]; -} +export type IStates = { [key in TState]: ISimpleState[] }; /** helper function for compactly representing a rule */ function r( regex: RegExp, - token?: string | string[], + token?: TT | TT[], opt?: Partial ): ISimpleState { return { regex, token, ...opt }; } /** Possible Robot Framework table names. Group count is important. */ -const TABLE_NAMES: { [key: string]: RegExp } = { - keywords: /(\|\s)?(\*+\s*)(user keywords?|keywords?)(\s*\**)/i, - settings: /(\|\s)?(\*+\s*)(settings?)(\s*\**)/i, - test_cases: /(\|\s)?(\*+\s*)(tasks?|test cases?)(\s*\**)/i, - variables: /(\|\s)?(\*+\s*)(variables?)(\s*\**)/i +const TABLE_NAMES: { [key in TMainState]: RegExp } = { + keywords: /(\|\s)?(\*+ *)(user keywords?|keywords?)( *\**)/i, + settings: /(\|\s)?(\*+ *)(settings?)( *\**)/i, + test_cases: /(\|\s)?(\*+ *)(tasks?|test cases?)( *\**)/i, + variables: /(\|\s)?(\*+ *)(variables?)( *\**)/i }; /** Enumerate the possible rules */ -const RULES_TABLE: ISimpleState[] = Object.keys(TABLE_NAMES).map( - (next: string) => { - return r( - TABLE_NAMES[next], - ['bracket', 'header.link', 'header.link', 'header.link'], - { - next, - sol: true - } - ); - } -); +const RULES_TABLE = Object.keys(TABLE_NAMES).map((next: TMainState) => { + return r(TABLE_NAMES[next], [TT.BK, TT.HL, TT.HL, TT.HL], { + next, + sol: true + }); +}); -/** Pattern to match the start of a variable */ -const VAR_START = /[\$&@%]\{/; -/** Pattern to match the end of a variable */ -const VAR_END = /\}/; +const RULE_COMMENT_POP = r(/#.*$/, TT.CM, { pop: true }); /** Valid python operators */ const VAR_OP = /[*\-+\\%&|=> = {}; /** base isn't a state. these are the "normal business" that any state might use */ const base = [ ...RULES_TABLE, RULE_VAR_START, RULE_VAR_END, - r(/\|/, 'bracket'), - r(/[\.]{3}/, 'bracket'), - r(/#.*$/, 'comment'), - r(/\\ +/, 'bracket'), - r(/\\(?=$)/, 'bracket'), - r(/([^ =]*)(=)/, ['attribute', 'operator']), - r(/_\*.*?\*_/, 'string.strong.em'), - r(/\*.*?\*/, 'string.strong'), - r(/\_.*?\_/, 'string.em'), + RULE_DOC_TAGS, + RULE_ELLIPSIS, + r(/\|/, TT.BK), + r(/#.*$/, TT.CM), + r(/\\ +/, TT.BK), + r(/\\(?=$)/, TT.BK), + r( + // a non-variable argument fragment before a variable before an equal + /([^\s\$@&%=]((?!\t+|\s+\|\s+| +)([^=]|\\=))*?)(?=[$@&%].*?[^ =\\]=($| |[^=]|\s+\||\t))/, + TT.AT + ), + r( + // a non-variable argument fragment before an equal + /([^\s\$@&%=]((?!\t+|\s+\|\s+| +)([^=]|\\=))*?)(?==($| |[^=]|\s+\||\t))/, + TT.AT + ), + r(/(=!<>+\-*\/%)*==?/, TT.OP), + r(/_\*.*?\*_/, TT.SSE), + r(/\*.*?\*/, TT.SS), + r(/\_.*?\_/, TT.SE), // this is pretty extreme, but seems to work - r(/[^ \$]+/, 'string') + r(/[^\s\$@%&]+/, TT.ST), + r(/[\$@%&](?!\{)/, TT.ST) ]; /** the starting state (begining of a file) */ states.start = [ - r(/(%%python)( module )?(.*)?/, ['meta', 'keyword', 'variable'], { + r(/(%%python)( module )?(.*)?/, [TT.MT, TT.KW, TT.V2], { mode: { spec: 'ipython' }, sol: true }), - r(/(%%[^ ]*).*$/, 'meta', { sol: true }), + r(/(%%[^\s]*).*$/, TT.MT, { sol: true }), ...base ]; @@ -194,126 +274,278 @@ states.settings = [ RULE_SUITE_TAGS, RULE_SUITE_SETTING_KEYWORD_PIPE, RULE_SUITE_SETTING_KEYWORD, + RULE_SETTING_LIBRARY, + RULE_SETTING_LIBRARY_PIPE, r( - /(\|* *)(library|resource|variables|documentation|metadata|test timeout|task timeout)( *)/i, - ['bracket', 'atom', null], + /(\|*\s*)(resource|variables|documentation|metadata|test timeout|task timeout)(\s*)/i, + [TT.BK, TT.MT, null], { sol: true } ), ...base ]; -/** pattern for starting keywords */ -const KEY_START = /( +)/; -/** pattern for starting keywords (with pipes) */ -const KEY_START_PIPE = /(\| *\|)( +)/; -/** pattern for starting behavior-driven-development keywords */ -const KEY_BDD_START = /(\| *\| *| +)?(given|when|then|and|but)/i; +states.library = [ + RULE_NOT_ELLIPSIS_POP, + RULE_ELLIPSIS, + RULE_LINE_ENDS_WITH_VAR, + r( + /(WITH NAME)(\t+| +| +\| +)([^\|\s]*)(\s*)(\|?)(\s*)(?=$)/, + [TT.AM, TT.BK, TT.DF, null, TT.BK, null], + { + pop: true + } + ), + // r(/[^\}\|\s]*$/, TT.ST, { pop: true }), + ...base +]; /** rule for behavior-driven-development keywords */ -const RULE_START_BDD = r(KEY_BDD_START, ['bracket', 'builtin.em'], { - push: 'keyword_invocation', - sol: true -}); +const RULE_START_BDD = r( + /(\|\s*\|\s*|\s\s+)?(given|when|then|and|but)/i, + [TT.BK, TT.BE], + { + push: 'keyword_invocation', + sol: true + } +); /** rule for whitespace keywords */ -const RULE_KEY_START = r(KEY_START, null, { +const RULE_KEY_START = r(/(\t+| +)(?!\.\.\.)/, null, { push: 'keyword_invocation', sol: true }); /** rule for pipe keywords */ -const RULE_KEY_START_PIPE = r(KEY_START_PIPE, ['bracket', null], { - push: 'keyword_invocation', - sol: true -}); +const RULE_KEY_START_PIPE = r( + /(\| )(\s*)(|[^\|\s][^\|]*)(\s*)( \|)(\s+)/, + [TT.BK, null, TT.SH, null, TT.BK, null], + { + push: 'keyword_invocation', + sol: true + } +); +/** rule for for old-style loops (slashes) */ +const RULE_START_LOOP_OLD = r( + /(\s\|*\s*)(:FOR)(\s\|*\s*)/, + [null, TT.AM, null], + { + push: 'loop_start_old', + sol: true + } +); +/** rule for for new-style loops (slashes) */ +const RULE_START_LOOP_NEW = r( + /(\s\|*\s*)(FOR)(\s\|*\s*)/, + [null, TT.AM, null], + { + push: 'loop_start_new', + sol: true + } +); -/** rules for capturing individual tags */ -states.tags = [ - r(/ \| */, 'bracket'), - r(/^($|\n)/, null, { pop: true }), +const RULES_TAGS_COMMON = [ + r(/\s\|\s*/, TT.BK), + RULE_COMMENT_POP, + RULE_ELLIPSIS, + RULE_NOT_ELLIPSIS_POP, RULE_VAR_START, - r(/\}(?=$)/, 'variable', { pop: true }), + RULE_LINE_ENDS_WITH_VAR, RULE_VAR_END, - r(/^ *(?=$)/, null, { pop: true }), - r(/ +/, null), - r(/[^\$&%@]*?(?=( +| \|))/, 'tag'), - r(/[^\$&%@]*?(?= *\|?$)/, 'tag', { pop: true }), + r(/ +/, null) +]; + +/** rules for capturing individual tags */ +states.tags = [ + ...RULES_TAGS_COMMON, + r(/[^\$&%@]*?(?=( +| \|))/, TT.TG), // fall back to single char - r(/[^\$&%@|]/, 'tag') + r(/[^\$&%@|]/, TT.TG) ]; -/** rules for data rows inside a keyword definition */ -states.keywords = [ - RULE_TAGS, - RULE_SETTING_KEYWORD, - r( - /([\| ]* *)(\[\s*)(arguments|documentation|return|timeout)(\s*\])( *\|?)/i, - ['bracket', 'atom', 'atom', 'atom', 'bracket'], - { sol: true } - ), +/** rules for capturing tags inside docs */ +states.tags_comma = [ + ...RULES_TAGS_COMMON, + r(/(,)(\s*)/, [TT.PC, null]), + r(/[^\$&%@,]+(?=,$)/, TT.TG), + // fall back to single char + r(/[^\$&%@|,]/, TT.TG) +]; + +/** need to catch empty white lines pretty explicitly */ +const RULE_WS_LINE = r(/\s*(?=$)/, null, { sol: true }); + +/** not a state. rules for starting keyword invocation */ +const RULES_KEYWORD_INVOKING = [ RULE_START_BDD, RULE_KEY_START_PIPE, RULE_KEY_START, - r(/\| (?=[^ ]*\|)/, null, { sol: true, push: 'keyword_invocation' }), - r(/(?=[^ ])/, null, { sol: true, push: 'keyword_invocation' }), + r(/\|\s(?=[^\s*]*\|)/, null, { sol: true, push: 'keyword_invocation' }), + r(/(?=[^\s*])/, null, { sol: true, push: 'keyword_invocation' }) +]; + +const RULE_SETTING_SIMPLE = r( + /(\t+| +)(\[\s*)(arguments|documentation|return|timeout)(\s*\])(\s*)/i, + [null, TT.MT, TT.MT, TT.MT, null], + { sol: true } +); + +const RULE_SETTING_SIMPLE_PIPE = r( + /(\|)(\s+)([^|*]*)(\s+)(\|)(\s+)(\[\s*)(arguments|documentation|return|timeout)(\s*\])(\s*)(\|?)/i, + [TT.BK, null, TT.SH, null, TT.BK, null, TT.MT, TT.MT, TT.MT, null, TT.BK], + { sol: true } +); + +/** rules for data rows inside a keyword table */ +states.keywords = [ + RULE_ELLIPSIS, + RULE_TAGS, + RULE_SETTING_KEYWORD, + RULE_SETTING_SIMPLE, + RULE_SETTING_SIMPLE_PIPE, + r(/(?=[^\s$&%@*|]+)/, null, { sol: true, push: 'keyword_def' }), + RULE_START_LOOP_OLD, + RULE_START_LOOP_NEW, + RULE_WS_LINE, + ...RULES_KEYWORD_INVOKING, + ...base +]; + +/** a keyword name fragment before an inline variable */ +const KEYWORD_WORD_BEFORE_VAR = /([^\s]*?(?=[\$&%@]\{))/i; +/** a keyword name fragment before a separator */ +const KEYWORD_WORD_BEFORE_SEP = /[^\s\|]+(?=$|[|]|\t| +)/; +/** a keyword name fragment before a non-separator whitespace character */ +const KEYWORD_WORD_BEFORE_WS = /([^\n\$\s*=\|]+?(?= ))/i; + +states.keyword_def = [ + RULE_VAR_START, + RULE_LINE_ENDS_WITH_VAR, + RULE_VAR_END, + r(/ /, null), + r(KEYWORD_WORD_BEFORE_VAR, TT.DF), + r(KEYWORD_WORD_BEFORE_SEP, TT.DF, { pop: true }), + r(KEYWORD_WORD_BEFORE_WS, TT.DF), + r(/(?=$)/, null, { sol: true, pop: true }) +]; + +/** A range as used in for loops */ +const RULE_RANGE = r(/([\|\s]*\s*)(IN)( RANGE| ENUMERATE| ZIP)?/, [ + null, + TT.AM, + TT.AM +]); + +states.loop_start_new = [ + RULE_RANGE, + r(/[.]{3}/, TT.BK), + RULE_VAR_START, + r(/\}(?=$)/, TT.V2), + RULE_VAR_END, + r(/([\|\s]*\s*)(END)/, [null, TT.AM], { sol: true, pop: true }), + RULE_WS_LINE, + ...RULES_KEYWORD_INVOKING, + ...base +]; + +states.loop_start_old = [ + r(/(?=.*)/, null, { sol: true, next: 'loop_body_old' }), + RULE_RANGE, + RULE_VAR_START, + r(/\}(?=$)/, TT.V2), + RULE_VAR_END, ...base ]; +states.loop_body_old = [ + ...RULES_KEYWORD_INVOKING.map(rule => { + return { + ...rule, + regex: new RegExp( + /([\|\s]*\s*)(\\)/.source + + (rule.regex instanceof RegExp ? rule.regex.source : rule.regex) + ), + token: + rule.token instanceof Array + ? [null, TT.BK, ...rule.token] + : [null, TT.BK, rule.token] + }; + }), + r(/(?=\s+[^\\])/, null, { pop: true, sol: true }), + ...base +]; + +const RULE_CASE_SETTING_SIMPLE = r( + /(\t+| +)(\[\s*)(documentation|timeout)(\s*\])(\s*)/i, + [null, TT.MT, TT.MT, TT.MT, null], + { sol: true } +); + +const RULE_CASE_SETTING_SIMPLE_PIPE = r( + /(\|)(\s+)([^|*]*)(\s+)(\|)(\s+)(\[\s*)(documentation|timeout)(\s*\])(\s*)(\|?)/i, + [TT.BK, null, TT.SH, null, TT.BK, null, TT.MT, TT.MT, TT.MT, null, TT.BK], + { sol: true } +); + /** rules for data rows inside test/task definition */ states.test_cases = [ + ...RULES_TABLE, + RULE_WS_LINE, + RULE_ELLIPSIS, RULE_TAGS, RULE_SETTING_KEYWORD, - r( - /([\| ]* *)(\[\s*)(documentation|timeout)(\s*\])/i, - ['bracket', 'atom', 'atom', 'atom'], - { sol: true } - ), - RULE_START_BDD, - RULE_KEY_START_PIPE, - RULE_KEY_START, - r( - /(\| +)([^ *\|\.][^\|]*?)( *)(\|?$)/, - ['bracket', 'string.header', 'bracket'], - { - sol: true - } - ), - r(/(\| +)(.+?)( \| )/, ['bracket', 'string.header', 'bracket'], { + RULE_CASE_SETTING_SIMPLE, + RULE_CASE_SETTING_SIMPLE_PIPE, + RULE_START_LOOP_OLD, + RULE_START_LOOP_NEW, + r(/([^|\s*].+?)(?=(\t| +|$))/, TT.SH, { sol: true }), + ...RULES_KEYWORD_INVOKING, + r(/(\|\s+)([^\s*\|\.][^\|]*?)(\s*)(\|?$)/, [TT.BK, TT.SH, TT.BK], { + sol: true + }), + r(/(\| +)([^\|\s].+?)(\s*)( \| )/, [TT.BK, TT.SH, null, TT.BK], { sol: true }), - r(/([^| *].+$)/, 'string.header', { sol: true }), ...base ]; /** rules for inside of an invoked keyword instance */ states.keyword_invocation = [ - r(/^(?= *$)/, null, { pop: true }), + r(/( ?)(=)(\t+| +|\s+\|)/, [null, TT.OP, null]), + r(/(?=\s*$)/, null, { pop: true }), + r(/(\\|\.\.\.) +/, TT.BK, { pop: true }), RULE_VAR_START, - r(/\}(?=$)/, 'variable', { pop: true }), + RULE_LINE_ENDS_WITH_VAR, RULE_VAR_END, - r(/#.*$/, 'comment', { pop: true }), - r(/( \| | +)/, 'bracket', { pop: true }), - r(/ ?=( +)/, 'operator'), - r(/(\\|[\.]{3}) +/, 'bracket', { pop: true }), + RULE_COMMENT_POP, + r(/( \| | +|\t+)(?=[$@&])/, TT.BK), + r(/( \| | +|\t+)/, TT.BK, { pop: true }), r(/ /, null), - r(/([^ ]*?(?=[\$&%@]\{))/i, 'keyword'), - r(/[^ \|]+(?=$|[|])/, 'keyword', { pop: true }), - r(/([^\n\$ *=\|]+?(?= ))/i, 'keyword'), + r(KEYWORD_WORD_BEFORE_VAR, TT.KW, { pop: true }), + r(KEYWORD_WORD_BEFORE_SEP, TT.KW, { pop: true }), + r(KEYWORD_WORD_BEFORE_WS, TT.KW), ...base ]; +states.keyword_invocation_no_continue = [ + RULE_NOT_ELLIPSIS_POP, + ...states.keyword_invocation +]; + /** curious rule for the variables table */ states.variables = [...base]; /** rules for inside of a variable reference */ states.variable = [ RULE_VAR_START, - r(VAR_BUILTIN, 'builtin'), + r(VAR_BUILTIN, TT.BI), RULE_NUM, - r(VAR_OP, 'operator'), - r(/\./, 'operator', { push: 'variable_property' }), - r(/\[/, 'bracket', { next: 'variable_index' }), - r(/\}(?=\[)/, 'variable'), - r(/[^}\n$]/, 'variable'), - r(/^(?=\})/, 'variable', { pop: true }) + r(VAR_OP, TT.OP), + r(/(:)(.*?[^\\])(?=\}\s*$)/, [TT.OP, TT.S2], { pop: true }), + r(/(:)(.*?[^\\])(?=\})/, [TT.OP, TT.S2]), + r(/\./, TT.OP, { push: 'variable_property' }), + r(/\[/, TT.BK, { next: 'variable_index' }), + r(/\}(?=\[)/, TT.V2), + r(/(?=\}\s*$)/, null, { pop: true }), + r(/\}/, TT.V2, { pop: true }), + r(/[^\{\}\n:]/, TT.V2) ]; /** rules for extended syntax in a variable reference */ @@ -323,28 +555,28 @@ states.variable_property = [ RULE_NUM, RULE_SINGLE_STRING_START, RULE_DOUBLE_STRING_START, - r(VAR_OP, 'operator'), - r(/\(/, 'bracket'), - r(/\)/, 'bracket', { pop: true }), - r(/([a-z_][a-z_\d]*)(=)/i, ['variable', 'operator']), - r(/,/, 'punctuation'), - r(/[^}](?=\})/, 'property', { pop: true }), - r(/(^\})( *(?=$|\n))/, ['bracket', null], { pop: true }), - r(/^ *(?=$|\n)/, null, { pop: true }), - r(/[^}]/, 'property') + r(VAR_OP, TT.OP), + r(/\(/, TT.BK), + r(/\)/, TT.BK, { pop: true }), + r(/([a-z_][a-z_\d]*)(=)/i, [TT.V2, TT.OP]), + r(/,/, TT.PC), + r(/[^}](?=\})/, TT.PR, { pop: true }), + r(/(\})(\s*(?=$|\n))/, [TT.BK, null], { pop: true }), + r(/\t*(?=$|\n)/, null, { pop: true }), + r(/[^}]/, TT.PR) ]; /** rules for strings with single quotes */ states.single_string = [ - r(/\\'/, 'string'), - r(/'/, 'string', { pop: true }), - r(/./, 'string') + r(/\\'/, TT.ST), + r(/'/, TT.ST, { pop: true }), + r(/./, TT.ST) ]; /** rules for strings with double quotes */ states.double_string = [ - r(/\\"/, 'string'), - r(/"/, 'string', { pop: true }), - r(/./, 'string') + r(/\\"/, TT.ST), + r(/"/, TT.ST, { pop: true }), + r(/./, TT.ST) ]; /** rules for square-bracketed index referencing */ @@ -352,12 +584,12 @@ states.variable_index = [ RULE_VAR_START, RULE_VAR_END, RULE_NUM, - r(/\[/, 'bracket'), - r(/\](?=\])/, 'bracket'), - r(/(\])(\})( ?=?)/, ['bracket', 'variable', 'operator'], { pop: true }), - r(/(\])(\[)/, 'bracket'), - r(/\]/, 'bracket', { pop: true }), - r(/[^\]]/, 'string') + r(/\[/, TT.BK), + r(/\](?=\])/, TT.BK), + r(/(\])(\})( ?=?)/, [TT.BK, TT.V2, TT.OP], { pop: true }), + r(/(\])(\[)/, TT.BK), + r(/\]/, TT.BK, { pop: true }), + r(/[^\]]/, TT.ST) ]; /** well-known mime type for robot framework (pygments, etc.) */ diff --git a/vendor/robotframework b/vendor/robotframework new file mode 160000 index 0000000..6197f94 --- /dev/null +++ b/vendor/robotframework @@ -0,0 +1 @@ +Subproject commit 6197f94db6c2a614526ce41563c882c5bcf4821d