### Required

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/fileOperations.ts#L16-L16)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L29-L29)[\[3\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L38-L38)[\[4\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L47-L47)[\[5\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L105-L105)[\[6\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L114-L114)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/fileOperations.ts#L49-L49)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/fileOperations.ts#L52-L52)[\[3\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L74-L74)[\[4\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L121-L121)[\[5\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L146-L146)[\[6\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L155-L155)[\[7\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L178-L178)[\[8\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L193-L193)[\[9\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/historyManager.ts#L219-L219)[\[10\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L32-L32)[\[11\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L40-L40)[\[12\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L50-L50)[\[13\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L127-L127)[\[14\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L138-L138)[\[15\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L191-L191)[\[16\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/actionHandler.ts#L134-L134)[\[17\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/actionHandler.ts#L435-L435)[\[18\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/actionHandler.ts#L447-L447)[\[19\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/navigationHandler.ts#L97-L97)[\[20\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/renderer.ts#L197-L197)[\[21\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/renderer.ts#L597-L597)[\[22\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/renderer.ts#L651-L651)[\[23\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L604-L604)[\[24\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L610-L610)[\[25\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L136-L136)[\[26\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L1054-L1054)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/fileOperations.ts#L118-L118)
Async method 'centerMatchInViewport' has no 'await' expression.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L31-L31)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L145-L145)[\[3\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/helpModal.ts#L66-L66)[\[4\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/helpModal.ts#L78-L78)[\[5\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/helpModal.ts#L423-L423)[\[6\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/helpModal.ts#L441-L441)[\[7\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L264-L264)[\[8\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L275-L275)[\[9\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L280-L280)[\[10\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L297-L297)[\[11\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L344-L344)[\[12\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L345-L345)[\[13\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L346-L346)[\[14\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L347-L347)[\[15\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L348-L348)[\[16\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L349-L349)[\[17\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L293-L293)[\[18\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L303-L303)[\[19\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L937-L937)[\[20\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L952-L952)[\[21\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L71-L71)
Use sentence case for UI text.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L37-L37)
The command ID should not include the plugin ID.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L124-L124)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L135-L135)[\[3\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L146-L146)[\[4\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L157-L157)
Async method 'callback' has no 'await' expression.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/confirmModal.ts#L35-L38)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/confirmModal.ts#L39-L42)[\[3\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/navigationHandler.ts#L41-L45)[\[4\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchController.ts#L64-L77)[\[5\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchController.ts#L80-L95)[\[6\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L593-L593)[\[7\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L885-L918)[\[8\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L1002-L1008)[\[9\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L1010-L1016)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/confirmModal.ts#L35-L35)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/modals/confirmModal.ts#L39-L39)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/actionHandler.ts#L459-L459)
A method that is not declared with `this: void` may cause unintentional scoping of `this` when separated from its object.
Consider using an arrow function or explicitly `.bind()`ing the method to avoid calling the method with an unintended `this` value. 
If a function does not access `this`, it can be annotated with `this: void`.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/renderer.ts#L98-L98)
Do not access Object.prototype method 'hasOwnProperty' from target object.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L200-L205)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L211-L217)[\[3\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L268-L273)[\[4\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L279-L285)[\[5\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L360-L365)[\[6\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L368-L374)[\[7\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L384-L389)[\[8\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L392-L398)[\[9\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L588-L597)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L78-L78)
Async method 'onOpen' has no 'await' expression.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L236-L236)
Async method 'onClose' has no 'await' expression.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L63-L63)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/utils/logger.ts#L88-L88)
'unknown' overrides all other types in this union type.



---

### Optional

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/core/searchEngine.ts#L1-L1)[\[2\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L1-L1)
'Notice' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/main.ts#L8-L8)
'LogLevel' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/settings/settingsTab.ts#L3-L3)
'VaultFindReplaceSettings' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/actionHandler.ts#L4-L4)
'ReplacementResult' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/renderer.ts#L1-L1)
'TFile' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/renderer.ts#L154-L154)
'fileGroupHeading' is assigned a value but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchController.ts#L290-L290)
'timerError' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L355-L355)
'includeLabel' is assigned a value but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L379-L379)
'excludeLabel' is assigned a value but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/components/searchToolbar.ts#L487-L487)
'actionGap' is assigned a value but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L1-L1)
'setIcon' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L1-L1)
'debounce' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L1-L1)
'Menu' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L4-L4)
'ReplacementMode' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L4-L4)
'ReplacementTarget' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L9-L9)
'safeQuerySelector' is defined but never used.

[\[1\]](https://github.com/gapmiss/find-n-replace/blob/356ab1f106c6501f7ac6b5c878308088ecdf4d30/src/ui/views/findReplaceView.ts#L9-L9)
'isNotNull' is defined but never used.

