Cheer up eslint

This commit is contained in:
Oliver Blanthorn 2023-03-14 17:02:29 +01:00
parent 6f905a5e8a
commit cbe331e796
No known key found for this signature in database
GPG key ID: 2BB8C36BB504BFF3
9 changed files with 68 additions and 63 deletions

View file

@ -58,6 +58,10 @@ export abstract class CompletionSource {
this.prefixes = this.prefixes.map(p => p + " ")
}
get state() {
return this._state
}
/** Control presentation of Source */
set state(newstate: OptionState) {
switch (newstate) {
@ -73,10 +77,6 @@ export abstract class CompletionSource {
this._state = newstate
}
get state() {
return this._state
}
shouldRefresh() {
// A completion source should be refreshed if it is not hidden or if it just became hidden
return this._state !== "hidden" || this.state !== this._prevState
@ -105,6 +105,10 @@ export abstract class CompletionOptionHTML extends CompletionOption {
private _state: OptionState = "hidden"
get state() {
return this._state
}
/** Control presentation of element */
set state(newstate: OptionState) {
// console.log("state from to", this._state, newstate)
@ -133,10 +137,6 @@ export abstract class CompletionOptionHTML extends CompletionOption {
}
this._state = newstate
}
get state() {
return this._state
}
}
export interface CompletionOptionFuse extends CompletionOptionHTML {
@ -332,7 +332,7 @@ export abstract class CompletionSourceFuse extends CompletionSource {
/* abstract onUpdate(query: string, prefix: string, options: CompletionOptionFuse[]) */
// Lots of methods don't need this but some do
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars-experimental
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
async onInput(exstr: string) {}
}

View file

@ -27,7 +27,7 @@ export class CompositeCompletionSource extends Completions.CompletionSourceFuse
return this.updateOptions(exstr)
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars-experimental
// eslint-disable-next-line @typescript-eslint/no-unused-vars
updateChain(exstr = this.lastExstr, options = this.options) {
if (this.options.length > 0) this.state = "normal"
else this.state = "hidden"

View file

@ -37,7 +37,7 @@ export class ExcmdCompletionSource extends Completions.CompletionSourceFuse {
return this.updateOptions(exstr)
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars-experimental
// eslint-disable-next-line @typescript-eslint/no-unused-vars
updateChain(exstr = this.lastExstr, options = this.options) {
if (this.options.length > 0) this.state = "normal"
else this.state = "hidden"

View file

@ -717,7 +717,7 @@ class Hint {
height: rect.height,
x: undefined,
y: undefined,
toJSON: () => {},
toJSON: () => {/* just to make typescript happy, never used */},
}
this.flag.textContent = name
@ -737,13 +737,25 @@ class Hint {
this.hidden = false
}
public static isHintable(target: Element): boolean {
return target.getClientRects().length > 0
get x() {
return this._x
}
setName(n: string) {
this.name = n
this.flag.textContent = this.name
set x(X: number) {
this._x = X
this.updatePosition()
}
// eslint wants all gets to be before all sets but also wants all overloads to be grouped
// which isn't possible afaict
// eslint-disable-next-line @typescript-eslint/member-ordering
get y() {
return this._y
}
set y(Y: number) {
this._y = Y
this.updatePosition()
}
// These styles would be better with pseudo selectors. Can we do custom ones?
@ -768,28 +780,19 @@ class Hint {
}
}
public static isHintable(target: Element): boolean {
return target.getClientRects().length > 0
}
setName(n: string) {
this.name = n
this.flag.textContent = this.name
}
select() {
this.onSelect(this)
}
set x(X: number) {
this._x = X
this.updatePosition()
}
get x() {
return this._x
}
set y(Y: number) {
this._y = Y
this.updatePosition()
}
get y() {
return this._y
}
public overlapsWith(h: Hint) {
if (h.width == 0) h.width = h.flag.getClientRects()[0].width
if (h.height == 0) h.height = h.flag.getClientRects()[0].height

View file

@ -5688,9 +5688,9 @@ export function echo(...str: string[]) {
* @hidden
*/
async function js_helper(str: string[]) {
// eslint-disable-next-line @typescript-eslint/no-unused-vars-experimental
// eslint-disable-next-line @typescript-eslint/no-unused-vars
let JS_ARG = null
// eslint-disable-next-line @typescript-eslint/no-unused-vars-experimental
// eslint-disable-next-line @typescript-eslint/no-unused-vars
let JS_ARGS = []
let jsContent: string = null

View file

@ -139,7 +139,7 @@ export function wrap_input(
/**
* Take an editor function as parameter and wrap it in a function that will handle error conditions
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars-experimental
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function needs_text(fn: editor_function, arg?: any): editor_function {
return (
text: string,

View file

@ -68,6 +68,15 @@ export class HintConfig implements HintOptions {
public selectorsExclude = []
public warnings = []
public get isYank() {
return (
this.openMode === OpenMode.YankAnchor ||
this.openMode === OpenMode.YankAlt ||
this.openMode === OpenMode.YankLink ||
this.openMode === OpenMode.YankText
)
}
public static parse(args: string[]): HintConfig {
// Argument parser state
enum State {
@ -430,13 +439,4 @@ export class HintConfig implements HintOptions {
return hintables
}
public get isYank() {
return (
this.openMode === OpenMode.YankAnchor ||
this.openMode === OpenMode.YankAlt ||
this.openMode === OpenMode.YankLink ||
this.openMode === OpenMode.YankText
)
}
}

View file

@ -20,6 +20,22 @@ export class Logger {
*/
constructor(private logModule) {}
// These are all getters so that logger.debug = console.debug and
// logger.debug('blah') translates into console.debug('blah') with the
// filename and line correct.
public get debug() {
return this.log("debug")
}
public get info() {
return this.log("info")
}
public get warning() {
return this.log("warning")
}
public get error() {
return this.log("error")
}
/**
* Config-aware logging function.
*
@ -61,22 +77,6 @@ export class Logger {
// eslint-disable-next-line @typescript-eslint/no-empty-function
return function() {}
}
// These are all getters so that logger.debug = console.debug and
// logger.debug('blah') translates into console.debug('blah') with the
// filename and line correct.
public get debug() {
return this.log("debug")
}
public get info() {
return this.log("info")
}
public get warning() {
return this.log("warning")
}
public get error() {
return this.log("error")
}
}
export default Logger

2
src/tridactyl.d.ts vendored
View file

@ -3,6 +3,8 @@
// For some obscure reason, tsc doesn't like .d.ts files to share a name with
// .ts files. So don't do that.
/* eslint-disable @typescript-eslint/no-unused-vars */
// Ill-advised monkeypatching
interface Number {
mod(n: number): number