Merge branch 'master' into local-and-global-marks

This commit is contained in:
Mariusz Kaczmarczyk 2021-12-23 16:21:00 +01:00
commit 7f426f84b2
11 changed files with 693 additions and 520 deletions

7
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10

View file

@ -71,9 +71,8 @@
" bindurl www.google.com F hint -Jbc #search div:not(.action-menu) > a
"
"
" " DDG binds are broken as of May 2021
" " bindurl ^https://duckduckgo.com f hint -Jc [class=result__a]
" " bindurl ^https://duckduckgo.com F hint -Jbc [class=result__a]
" bindurl ^https://duckduckgo.com f hint -Jc [class~=result__a]
" bindurl ^https://duckduckgo.com F hint -Jbc [class~=result__a]
"
" " Allow Ctrl-a to select all in the commandline
" unbind --mode=ex <C-a>

View file

@ -1,78 +1,58 @@
# Tridactyl changelog
# Release 1.22.0 / Unreleased
# Release 1.22.0 / 2021-11-29
- New features
- A `superignore` setting has been added which nearly totally disables Tridactyl, per page. Use it with `:seturl` only. If you break Tridactyl with it, remember that you can always use the `tri` keyword in the address bar to execute ex-commands (#3497)
- A `superignore` setting has been added which nearly totally disables Tridactyl, per page. Use it with `:seturl` only. If you break Tridactyl with it, remember that you can always use the `tri` keyword in the address bar to execute ex-commands ([#3497](https://github.com/tridactyl/tridactyl/issues/3497))
- `:drawing{start,stop,erasertoggle}` added to scribble on pages
- `:hint -V` hint mode added, bound to `;V`, which adds hints to all matching elements on the page, including ones outside the viewport (#3534)
- `:set completionfuzziness [0-1]` added to control strictness of completion matches (#3556)
- The cursor is no longer shown in no mouse mode (#3891)
- For our own `:find` mode, there is now a `findhighlighttimeout` setting (in milliseconds) which allows you to control how long text stays highlighted after a search (#3854)
- Tabs may now be renamed with `:tabrename` (#3577)
- `:hint -V` hint mode added, bound to `;V`, which adds hints to all matching elements on the page, including ones outside the viewport ([#3534](https://github.com/tridactyl/tridactyl/issues/3534))
- `:set completionfuzziness [0-1]` added to control strictness of completion matches ([#3556](https://github.com/tridactyl/tridactyl/issues/3556))
- The cursor is no longer shown in no mouse mode ([#3891](https://github.com/tridactyl/tridactyl/issues/3891))
- For our own `:find` mode, there is now a `findhighlighttimeout` setting (in milliseconds) which allows you to control how long text stays highlighted after a search ([#3854](https://github.com/tridactyl/tridactyl/issues/3854))
- Tabs may now be renamed with `:tabrename` ([#3577](https://github.com/tridactyl/tridactyl/issues/3577))
- Hint mode now tidies up any previous hints when it is entered
- `:colours midnight` added - a dark theme based on shydactyl (#3750)
- `:urlmodify` can now accept a URL as an argument (#3748)
- `:colours midnight` added - a dark theme based on shydactyl ([#3750](https://github.com/tridactyl/tridactyl/issues/3750))
- `:urlmodify` can now accept a URL as an argument ([#3748](https://github.com/tridactyl/tridactyl/issues/3748))
- `:tabpush` now pushes to the next most recently used window if no other argument is given
- `:colourscheme auto` theme added which follows your system's dark/light mode setting ([#3923](https://github.com/tridactyl/tridactyl/issues/3923))
- `:setmode [mode] allowautofocus [true|false]` added, currently only for the `allowautofocus` setting, to control the setting per-mode ([#3740](https://github.com/tridactyl/tridactyl/issues/3740))
- Bug fixes
- The new tab page no longer has invisible links on it when set to `about:blank` (#1743)
- `:viewconfig` might now work more reliably but we are not sure (#3653)
- The new tab page no longer has invisible links on it when set to `about:blank` ([#1743](https://github.com/tridactyl/tridactyl/issues/1743))
- `:viewconfig` might now work more reliably but we are not sure ([#3653](https://github.com/tridactyl/tridactyl/issues/3653))
- it also works from Tridactyl pages now, at least some of the time
- `:nmode` is now shown in the mode indicator
- `:open` will now always run in its own tab ([#3583](https://github.com/tridactyl/tridactyl/issues/3583))
- Hint modes now accept a much wider array of arguments ([#3534](https://github.com/tridactyl/tridactyl/issues/3534))
- `:source --url` now works on data URIs ([#3540](https://github.com/tridactyl/tridactyl/issues/3540))
- `:guiset` now gives a more useful error on reading a malformed userChrome.css ([#3541](https://github.com/tridactyl/tridactyl/issues/3541))
- `:mpvsafe` now leaves MPV running after Firefox exits on all platforms ([#3538](https://github.com/tridactyl/tridactyl/issues/3538))
- `:viewcontainers` uses `:jsonview` internally which should fix how it is displayed from Tridactyl pages ([#3539](https://github.com/tridactyl/tridactyl/issues/3539))
- `:open` will now always run in its own tab (#3583)
- Hint modes now accept a much wider array of arguments (#3534)
- `:source --url` now works on data URIs (#3540)
- `:guiset` now gives a more useful error on reading a malformed userChrome.css (#3541)
- `:mpvsafe` now leaves MPV running after Firefox exits on all platforms (#3538)
- `:viewcontainers` uses `:jsonview` internally which should fix how it is displayed from Tridactyl pages (#3539)
- `:containerdelete` no longer closes all normal tabs if an invalid container is given (#3536)
- `:set auconcreatecontainer fales` is now respected (#3537)
- GitHub and other SVG favicons should appear in the tab completions (#3892)
- `:editor` now correctly returns a value (#3800)
- `:containerdelete` no longer closes all normal tabs if an invalid container is given ([#3536](https://github.com/tridactyl/tridactyl/issues/3536))
- `:set auconcreatecontainer fales` is now respected ([#3537](https://github.com/tridactyl/tridactyl/issues/3537))
- GitHub and other SVG favicons should appear in the tab completions ([#3892](https://github.com/tridactyl/tridactyl/issues/3892))
- `:editor` now correctly returns a value ([#3800](https://github.com/tridactyl/tridactyl/issues/3800))
- Miscellaneous
- We've switched from webpack to esbuild which has reduced dev-build times from 40 seconds to about 1 second (#3645)
- Tridactyl can now be built from ~5MB of source, down from ~100MB (#3632)
- We've switched from ramda to rambda which is a bit faster (#3628)
- We've switched from webpack to esbuild which has reduced dev-build times from 40 seconds to about 1 second ([#3645](https://github.com/tridactyl/tridactyl/issues/3645))
- Tridactyl can now be built from ~5MB of source, down from ~100MB ([#3632](https://github.com/tridactyl/tridactyl/issues/3632))
- We've switched from ramda to rambda which is a bit faster ([#3628](https://github.com/tridactyl/tridactyl/issues/3628))
- We've switched from web-ext-types to definitely typed types, which are a bit better maintained
- We update the DOM in place a bit less, which could speed up `:tab` completions
- Hint mode is a bit faster ([#3582](https://github.com/tridactyl/tridactyl/issues/3582))
- Dev builds of Tridactyl now open a new tab page when Tridactyl code is updated ([#3564](https://github.com/tridactyl/tridactyl/issues/3564))
- We're now using `firenvim`s web-editor library which means that CodeMirror, Monaco and other in-browser code editors now work with `:editor` ([#3851](https://github.com/tridactyl/tridactyl/issues/3851))
- Native messenger bumped to version 0.3.6 from 0.3.4; fixes .tridactylrc search paths on windows and saving files to directories without specifying a filename
- Hint mode is a bit faster (#3582)
Thanks to all of our contributors for this release: dependabot-preview[bot], Oliver Blanthorn, dependabot[bot], Vincent Tavernier, Rummskartoffel, Dhruva Sambrani, karizma, Jay Kamat, Aaron Rancsik, Simon H Moore, glacambre, ivcz, Caleb Maclennan, Eugene, Ivan Oleynikov, Søren Knudsen, meep, mozbug and slmb3.
- Dev builds of Tridactyl now open a new tab page when Tridactyl code is updated (#3564)
Extra special thanks go to Aaron Rancsik, Eugene, Ivan Oleynikov, ivcz, karizma, meep, slmb3, Søren Knudsen and Vincent Tavernier who all contributed for the first time.
- We're now using `firenvim`s web-editor library which means that CodeMirror, Monaco and other in-browser code editors now work with `:editor` (#3851)
Last, but not least - thank you to everyone who reported issues.
# Release 1.21.1 / 2021-03-19

View file

@ -15,8 +15,8 @@
"cleanslate": "^0.10.1",
"csp-serdes": "github:cmcaine/csp-serdes",
"css": "^3.0.0",
"editor-adapter": "^0.0.1",
"esbuild": "^0.12.8",
"editor-adapter": "^0.0.3",
"esbuild": "^0.13.14",
"fuse.js": "^6.4.6",
"nearley": "^2.20.1",
"ramda": "^0.27.1",
@ -28,33 +28,33 @@
},
"devDependencies": {
"@types/css": "0.0.33",
"@types/firefox-webext-browser": "^82.0.0",
"@types/jest": "^26.0.24",
"@types/firefox-webext-browser": "^82.0.1",
"@types/jest": "^27.0.2",
"@types/nearley": "^2.11.2",
"@types/selenium-webdriver": "^4.0.15",
"@typescript-eslint/eslint-plugin": "^4.29.0",
"@typescript-eslint/eslint-plugin-tslint": "^4.29.0",
"@typescript-eslint/parser": "^4.29.0",
"@types/selenium-webdriver": "^4.0.16",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/eslint-plugin-tslint": "^5.0.0",
"@typescript-eslint/parser": "^4.33.0",
"command-line-args": "^5.2.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-jsdoc": "^36.0.6",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-jsdoc": "^37.0.3",
"eslint-plugin-prefer-arrow": "^1.2.3",
"eslint-plugin-sonarjs": "^0.7.0",
"geckodriver": "^2.0.1",
"geckodriver": "^2.0.4",
"jasmine-fail-fast": "^2.0.1",
"jest": "^25.5.4",
"jest-webextension-mock": "^3.7.17",
"marked": "^2.1.3",
"prettier": "^2.3.2",
"selenium-webdriver": "^4.0.0-beta.3",
"jest-webextension-mock": "^3.7.19",
"marked": "^3.0.7",
"prettier": "^2.4.1",
"selenium-webdriver": "^4.0.0",
"ts-jest": "^25.5.1",
"tslint": "^5.20.1",
"tslint-etc": "^1.13.10",
"tslint-sonarts": "^1.9.0",
"typescript": "^3.9.10",
"web-ext": "^6.2.0"
"web-ext": "^6.5.0"
},
"scripts": {
"build": "sh scripts/build.sh",

View file

@ -205,7 +205,7 @@ if (
window.location.pathname === "/static/newtab.html"
) {
config.getAsync("newtab").then(newtab => {
if (newtab !== "about:blank") {
if (!["about:blank", "about:newtab"].includes(newtab)) {
if (newtab) {
excmds.open_quiet(newtab)
} else {

View file

@ -303,7 +303,7 @@ export function getInputSelector() {
//#content
export function addTridactylEditorClass(selector: string) {
const elem = document.querySelector(selector)
elem.className = elem.className + " TridactylEditing "
elem.classList.add("TridactylEditing")
return elem
}
@ -311,7 +311,7 @@ export function addTridactylEditorClass(selector: string) {
//#content
export function removeTridactylEditorClass(selector: string) {
const elem = document.querySelector(selector)
elem.className = elem.className.replace(" TridactylEditing ", "")
elem.classList.remove("TridactylEditing")
}
//#content_helper
@ -642,7 +642,11 @@ export async function nativeopen(...args: string[]) {
try {
const profile = await Native.getProfile()
if (profile.Name !== undefined) {
firefoxArgs = [`-p ${profile.Name}`]
if (os === "win") {
firefoxArgs = [`-p "${profile.Name}"`]
} else {
firefoxArgs = [`-p '${profile.Name}'`]
}
} else if (profile.absolutePath !== undefined) {
if (os === "win") {
firefoxArgs = [`--profile "${profile.absolutePath}"`]

View file

@ -1140,7 +1140,7 @@ export class default_config {
visualenterauto: "true" | "false" = "true"
/**
* Whether to return to visual mode when text is deselected.
* Whether to return to normal mode when text is deselected.
*/
visualexitauto: "true" | "false" = "true"

View file

@ -1,8 +1,8 @@
{
"manifest_version": 2,
"name": "Tridactyl",
"version": "1.21.1",
"version_name": "1.21.1",
"version": "1.22.0",
"version_name": "1.22.0",
"icons": {
"64": "static/logo/Tridactyl_64px.png",
"100": "static/logo/Tridactyl_100px.png",

View file

@ -20,7 +20,7 @@ Tridactyl uses a similar notation to Vim for keys with modifiers: `<C-x>` means
- `o` in the current tab
- `t` in a new tab
- Using a capital letter in place of any of the previous commands opens the command with the current URL pasted into it, i.e, `W`,`O`,`T`
- `s` lets you search easily in the current tab and `S` does so in a new tab.
- `s` lets you easily start a search with your default search engine in the current tab and `S` does so in a new tab.
- in general, you can search many search engines straight from these prompts by simply starting your query with the search engine, such as `bing` `duckduckgo` or `scholar`
- Navigate history with `H` and `L`
- `yy` copies the current URL to your clipboard

View file

@ -6,6 +6,8 @@ Tridactyl has to override your new tab page due to WebExtension limitations. You
- Tridactyl funding 👀: [donate via GitHub sponsors here](https://github.com/users/bovine3dom/sponsorship). All GitHub and Patreon donors get a nice little newsletter once every few months; people who donate at least 10USD a month get a "tips & tricks" newsletter roughly once a month ([see an example here](https://github.com/tridactyl/tridactyl/blob/master/doc/newsletters/tips-and-tricks/1-hint-css-selectors.md)). You can also donate via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7JQHV4N2YZCTY), but they charge fairly high fees and you won't get any newsletters. Donations currently go towards ensuring that bovine3dom can afford to work one day a week on Tridactyl. Previously the donations have funded an in-person developer retreat.
- __Upcoming new permission request__: the next version of Tridactyl will require the "hide tabs" permission in order to provide `:tgroup*` tab group commands. You will need to click on a small pale yellow notification in the top right of the browser window to update to this version once it is available.
* If Tridactyl breaks a website or is broken by a website, trying the steps in the [troubleshooting guide](https://github.com/tridactyl/tridactyl/blob/master/doc/troubleshooting.md) might help.
* You can contact the developers, other users and contributors for support or whatever on [Matrix][matrix-link], [Gitter][gitter-link], [Discord][discord-link] or [IRC][libera-link].

1061
yarn.lock

File diff suppressed because it is too large Load diff