vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimSearchGroupBase.kt (8 lines): - line 175: // TODO: this can be made not open and private when SearchGroup.java is removed - line 187: // TODO: Delete this. Fix the mess that is the multiple entwined implementations of the search group - line 238: // TODO I think that this method (and the method above) should be part of the global command - line 340: // TODO: Consider improving pattern offset handling - line 665: // TODO: Support reporting number of changes (:help 'report') - line 1156: // TODO: Support printing last changed line, with options for line number/list format - line 1157: // TODO: Support 'n' to report number of matches without substituting - line 1232: // TODO: allow option to force (no)ignore case in a better way src/main/java/com/maddyhome/idea/vim/group/OptionGroup.kt (7 lines): - line 271: // TODO: If the IntelliJ setting is in practice global, should we reset local Vim values? - line 408: // TODO: When would we not have a virtual file? (Other than the fallback window) - line 441: // TODO: We could also implement 'breakindentopt', but only the shift:{n} component would be supportable - line 466: * TODO: This is a code style setting - how can we react to changes? - line 529: // TODO: Support ±1, ±2, ±n, etc. But this is difficult - line 618: // TODO: When would virtual file be null? - line 753: // TODO: If project is null (why would it be? Scratch files?) we could use LoadTextUtil.changeLineSeparators src/main/java/com/maddyhome/idea/vim/listener/VimListenerManager.kt (7 lines): - line 283: // TODO: If the user changes the 'ideavimsupport' option, existing editors won't be initialised - line 598: // TODO: It is very confusing that this logic is split between EditorSelectionHandler and EditorMouseHandler - line 643: // TODO: Can we merge this with ComponentMouseListener to fully handle all mouse actions in one place? - line 713: * TODO: Vim supports selection of the character after the end of line - line 767: // TODO: This should only be for 'selection'=inclusive - line 835: // TODO: Can we merge this with ComponentMouseListener to fully handle all mouse actions in one place? - line 875: // TODO: Modify this to support 'selection' set to "exclusive" src/main/java/com/maddyhome/idea/vim/extension/nerdtree/NerdTree.kt (6 lines): - line 119: // TODO remove ex-commands - line 211: // FIXME: 22.01.2021 Doesn't work correct - line 220: // FIXME: 22.01.2021 Doesn't work correct - line 226: // TODO: 21.01.2021 Should option in left split - line 228: // TODO: 21.01.2021 Should option in above split - line 247: // FIXME: 22.01.2021 This solution bouncing a bit vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimEditor.kt (6 lines): - line 19: * Every line in [VimEditor] ends with a new line TODO <- this is probably not true already - line 32: * TODO: We should understand what logic changes if we use a two or three lines editors. - line 40: * TODO We should check if we can keep the same VimEditor instance between edits. - line 112: * TODO review - line 144: // TODO: [visual] Try to remove these. Visual position is an IntelliJ concept and doesn't have a Vim equivalent - line 283: // TODO: [visual] Try to remove this. It's an IntelliJ concept and doesn't have a Vim equivalent vim-engine/src/main/kotlin/com/maddyhome/idea/vim/group/SearchGroup.kt (5 lines): - line 115: // TODO [vakhitov] it would be better to make this search PSI-aware and skip chars in strings and comments - line 140: // TODO [vakhitov] should I implement BiMap for IdeaVim? - line 242: // TODO support delta & refactor me (mb use method below) - line 265: // TODO what should we do inside strings? - line 347: // TODO please refactor me src/main/java/com/maddyhome/idea/vim/extension/exchange/VimExchangeExtension.kt (5 lines): - line 133: // TODO: handle other modes - line 226: // TODO handle: - line 233: // TODO: handle: if ident - line 296: // TODO: improve KeyStroke list to sting conversion - line 318: // TODO: handle vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimMotionGroupBase.kt (5 lines): - line 287: // TODO [vakhitov] It is super super super wrong. - line 288: // TODO [vakhitov] We should remove all of the secondary carets and return an offset of the primary one - line 300: // TODO remove secondary carets and return result for primary caret - line 317: // TODO [vakhitov] come up with a more gentle way to handle protocol - line 464: ), // TODO why do we have this 99? (It is there since 2003) vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/GlobalCommand.kt (5 lines): - line 30: // FIXME: I'm such a mess, please refactor me, responsible developer - line 151: // TODO it should be provided by VimScript parser - line 189: // TODO: 26.05.2021 break check - line 197: // TODO: 26.05.2021 Add other staff - line 201: // TODO: 26.05.2021 What about folds? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/KeyHandler.kt (4 lines): - line 45: // TODO for future refactorings (PRs are welcome) - line 84: // TODO figure out a better solution - line 306: // TODO we should have a single reset method - line 465: var onFinish: (() -> Unit)? = null // FIXME I'm a dirty hack to support recursion counter src/main/java/com/maddyhome/idea/vim/group/ScrollGroup.kt (4 lines): - line 204: // TODO: Don't add columns to visual position. This includes inlays and folds - line 236: // TODO: Should the offset be applied to visual columns? This includes inline inlays and folds - line 246: // TODO: Should the offset be applied to visual columns? This includes inline inlays and folds - line 288: // TODO: This should be reset whenever the window size changes vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/Options.kt (4 lines): - line 196: // TODO: This option doesn't appear to be used anywhere... - line 270: // TODO: Support script local functions - line 282: // TODO: Vim evaluates (and therefore validates) function(), funcref() + lambda values when set - line 329: // TODO: Technically, we should validate values, but that requires handling exclude, which is irrelevant to us src/main/java/com/maddyhome/idea/vim/extension/multiplecursors/VimMultipleCursorsExtension.kt (4 lines): - line 127: // TODO: Handle multiple cursors in normal mode - line 129: // TODO: New cursor should be based on text at the last visual selection marks - line 131: // TODO: Make sure we can handle manually added cursors - line 302: // TODO: I think vim-multiple-cursors uses a text object rather than the star operator src/main/java/com/maddyhome/idea/vim/group/ChangeGroup.kt (4 lines): - line 163: // FIXME: Here we do selection, and it is not a good idea, because it updates primary selection in Linux - line 164: // FIXME: I'll leave here a dirty fix that restores primary selection, but it would be better to rewrite this method - line 171: // FIXME: [isPrimaryRegisterSupported()] is not implemented perfectly, so there might be thrown an exception after trying to access the primary selection - line 202: // FIXME: [isPrimaryRegisterSupported()] is not implemented perfectly, so there might be thrown an exception after trying to access the primary selection vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimChangeGroupBase.kt (3 lines): - line 1036: // TODO is it correct to use primary caret? There is a caret as an argument - line 1158: // TODO: getVerticalMotionOffset returns a visual line, not the expected logical line - line 1171: // TODO: getVerticalMotionOffset returns a visual line, not the expected logical line vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/listFunctions/InsertFunctionHandler.kt (3 lines): - line 32: // TODO: Vim actually shows an error AND returns 1 here!? - line 36: // TODO: Support Blob - line 48: // TODO: When fixing locking, re-enable the tests in InsertFunctionTest vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimMotionGroup.kt (3 lines): - line 30: // TODO: Consider naming. These don't move the caret, but calculate offsets. Also consider returning Motion - line 54: // TODO: These should move to the Vim logical line at the top/bottom/middle of the display - line 157: // TODO: These aren't caret motions. Should be moved to VimWindowGroup? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/register/VimRegisterGroupBase.kt (3 lines): - line 197: if (start != -1) { // FIXME: so, we had invalid ranges all the time?.. I've never handled such cases - line 337: ) // TODO why transferable data is not collected? - line 368: ) // FIXME why don't we collect transferable data? src/main/java/com/maddyhome/idea/vim/newapi/IjVimSearchHelper.kt (3 lines): - line 28: // TODO add it to PsiService - line 33: // TODO add it to PsiService - line 55: // TODO add it to PsiService vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimCommandLine.kt (3 lines): - line 22: * TODO: Consider creating a derived instance that has-a instance of ExEntryPanel - line 113: * TODO remove me, close is safer - line 125: // FIXME I don't want it to conflict with Swings `requestFocus` and can suggest a better name src/main/java/com/maddyhome/idea/vim/ui/ex/ExEntryPanel.kt (3 lines): - line 116: // TODO: Introduce IdeaVim colour scheme for "SpecialKey"? - line 169: // TODO: Reduce the amount of unnecessary work here - line 324: // TODO: Add smagic and snomagic here if/when the commands are supported src/main/java/com/maddyhome/idea/vim/helper/UndoRedoHelper.kt (3 lines): - line 82: // TODO refactor me after VIM-308 when restoring selection and caret movement will be ignored by undo - line 163: // TODO refactor me after VIM-308 when restoring selection and caret movement will be ignored by undo - line 192: // TODO all the carets should be moved to their corresponding insertInfo.startOffset vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimCaret.kt (3 lines): - line 35: * TODO: Switch names: ImmutableVimCaret -> VimCaret & VimCaret -> MutableVimCaret - line 56: // TODO: [visual] Try to remove this. Visual position is an IntelliJ concept and Vim doesn't have a direct equivalent - line 133: // TODO: [visual] Try to remove this. Visual position is an IntelliJ concept and Vim doesn't have a direct equivalent src/main/java/com/maddyhome/idea/vim/extension/nerdtree/Mappings.kt (3 lines): - line 56: // TODO support going [count] lines upward/downward or to line [count] - line 62: // FIXME lazy loaded tree nodes are not expanded - line 80: // FIXME We should avoid relying on `ide.tree.collapse.recursively` since it closes visible paths only src/main/java/com/maddyhome/idea/vim/extension/nerdtree/NerdTreeEverywhere.kt (2 lines): - line 24: * TODO: - line 56: // TODO a more reliable way of invocation (such as double-clicking?) vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/datatypes/VimInt.kt (2 lines): - line 76: // TODO: These constants are a ticking time bomb when combined with :lockvar - line 121: // TODO: Using asVimInt will use a constant for 0 and 1, which can break lockvar vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/MappingInfo.kt (2 lines): - line 137: // TODO: Merge similar code from ToKeysMappingInfo - line 249: // FIXME: what is the comment below about?... src/testFixtures/kotlin/org/jetbrains/plugins/ideavim/VimTestCase.kt (2 lines): - line 816: // TODO: This is not the nicest way to check for current match. Add something to the highlight's user data? - line 851: // TODO: Find a better way to identify the current match vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/Command.kt (2 lines): - line 135: // TODO: Consider adding something like ModifiersFlag.BANG_ALLOWED with validation - line 155: // TODO: This is initialisation, not validation vim-engine/src/main/kotlin/com/maddyhome/idea/vim/register/Register.kt (2 lines): - line 17: // TODO should we prefer keys over text, as they are more informative? - line 18: // TODO e.g.  could be both and after trying to restore original keys vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/listFunctions/AddFunctionHandler.kt (2 lines): - line 31: // TODO: Vim actually shows an error AND returns 1 here!? - line 35: // TODO: Support Blob src/main/java/com/maddyhome/idea/vim/helper/UserDataManager.kt (2 lines): - line 92: // TODO: Is this a per-caret setting? This data is non-transient, so could be lost during visual block motion - line 100: // TODO: Data could be lost during visual block motion src/main/java/com/maddyhome/idea/vim/newapi/IjVimEditor.kt (2 lines): - line 158: // TODO: 30.12.2021 Is end offset inclusive? - line 160: // TODO: 30.12.2021 getLineEndOffset returns the same value for "xyz" and "xyz\n" vim-engine/src/main/kotlin/com/maddyhome/idea/vim/put/VimPutBase.kt (2 lines): - line 105: // TODO [vakhitov] what if it is ImmutableCaret and it was changed from the one added to [caretsAndSelections]? We should introduce caret ids that won't change - line 144: // TODO: shouldn't it be adjusted when we are storing the text? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/options/helpers/GuiCursorOptionHelper.kt (2 lines): - line 175: // TODO: SELECT should behave the same as VISUAL - line 187: is Mode.SELECT -> VISUAL_EXCLUSIVE // TODO: Should match VISUAL vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/consumers/CommandKeyConsumer.kt (2 lines): - line 48: * TODO: This is currently handled by [EditorResetConsumer], but this doesn't do anything for non-Normal modes - line 64: // TODO: Get rid of the check for digraphs vim-engine/src/main/kotlin/com/maddyhome/idea/vim/handler/MotionActionHandler.kt (2 lines): - line 90: * TODO this class should not exist at all, changes to command execution are required - line 264: // TODO: This should be normalised by the action src/main/java/com/maddyhome/idea/vim/group/ProcessGroup.kt (2 lines): - line 99: // TODO: Vim will use whatever text has already been written to stdout - line 123: // TODO: Java 10 has a transferTo method we could use instead vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/mapping/MapCommand.kt (2 lines): - line 169: // TODO: Support lmap - line 180: // TODO: Support lnoremap vim-engine/src/main/kotlin/com/maddyhome/idea/vim/command/CommandBuilder.kt (2 lines): - line 97: // TODO: Try to remove this too. Also used by extension handling - line 100: // TODO: And remove this too. More extension special case code vim-engine/src/main/kotlin/com/maddyhome/idea/vim/command/CommandFlags.kt (2 lines): - line 30: * TODO it should be only INCLUSIVE, EXCLUSIVE and LINEWISE motions. Should be moved to [MotionType] - line 75: * TODO come up with a better solution vim-engine/src/main/kotlin/com/maddyhome/idea/vim/undo/VimKeyBasedUndoService.kt (1 line): - line 14: // TODO provide key description for logging vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/listFunctions/IndexOfFunctionHandler.kt (1 line): - line 66: // TODO: Add test for funcref/expression returning wrong type vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/collectionFunctions/EmptyFunctionHandler.kt (1 line): - line 34: // TODO: 03.08.2021 vim-engine/src/main/kotlin/com/maddyhome/idea/vim/regexp/parser/visitors/PatternVisitor.kt (1 line): - line 709: } // TODO: Throw E70 error vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/ex/ProcessExEntryActions.kt (1 line): - line 129: // TODO support motions for commands vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/parser/visitors/ExpressionVisitor.kt (1 line): - line 156: // TODO: Vim does not handle this case. E716: Key not present in Dictionary: "first" vim-engine/src/main/kotlin/com/maddyhome/idea/vim/common/VimCopiedText.kt (1 line): - line 14: // TODO Looks like sticky tape, I'm not sure that we need to modify already stored text vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimOutputPanelService.kt (1 line): - line 15: // TODO make it possible to pass null instead of editor vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/EngineEditorHelper.kt (1 line): - line 15: // TODO: [visual] try to remove all uses of visual line/position. This is an IntelliJ concept vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/select/SelectDeleteAction.kt (1 line): - line 45: // TODO: It would be nice to know _why_ we use native actions for Delete/Backspace vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/leftright/MotionFirstColumnAction.kt (1 line): - line 42: // TODO we have the same command but for NX modes vim-engine/src/main/kotlin/com/maddyhome/idea/vim/regexp/engine/nfa/matcher/BackreferenceMatcher.kt (1 line): - line 29: // TODO: throw illegal backreference error src/main/java/com/maddyhome/idea/vim/helper/PsiHelper.java (1 line): - line 92: // TODO: Try to get rid of `getText()` because it takes a lot of time to calculate the string vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/updown/MotionDownFirstNonSpaceAction.kt (1 line): - line 39: // FIXME I should not exist (see class above) vim-engine/src/main/kotlin/com/maddyhome/idea/vim/regexp/engine/VimRegexEngine.kt (1 line): - line 28: // TODO: optimize by adding more strategies. The strategies should go from less powerful but faster, to more powerful but slower vim-engine/src/main/kotlin/com/maddyhome/idea/vim/ex/ranges/Address.kt (1 line): - line 260: // TODO: Handling of line offset is kinda hacky src/main/java/com/maddyhome/idea/vim/helper/Helper.kt (1 line): - line 28: // TODO Should be replaced with VimEditor.carets() vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimOptionGroupBase.kt (1 line): - line 1561: // TODO: We can't correctly clear global-local options vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/cursorFunctions/ColLineFunctionHandler.kt (1 line): - line 27: // TODO: 03.08.2021 Support second parameter vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/expressions/RegisterExpression.kt (1 line): - line 23: // TODO: We should return some kind of nullable string here src/main/java/com/maddyhome/idea/vim/extension/highlightedyank/VimHighlightedYank.kt (1 line): - line 108: // TODO: IdeaVim should help with lifecycle management here - VIM-3419 src/main/java/com/maddyhome/idea/vim/extension/surround/VimSurroundExtension.kt (1 line): - line 142: // TODO: This should probably be handled by ToHandlerMapping.execute src/main/java/com/maddyhome/idea/vim/newapi/IjClipboardManager.kt (1 line): - line 64: // TODO prefer methods with ranges, because they collect and preprocess for us vim-engine/src/main/kotlin/com/maddyhome/idea/vim/state/mode/modeExtensions.kt (1 line): - line 31: // TODO: This check isn't accurate. Needs updating annotation-processors/src/main/kotlin/com/intellij/vim/annotations/CommandOrMotion.kt (1 line): - line 11: // TODO support numpad keys parsing, see :keycodes vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/change/insert/InsertDeletePreviousWordAction.kt (1 line): - line 48: * TODO This behavior should be configured via the `backspace` option vim-engine/src/main/kotlin/com/maddyhome/idea/vim/helper/EngineStringHelper.kt (1 line): - line 38: // TODO: Look at 'isprint', 'display' and 'encoding' settings vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/scroll/MotionScrollPageDownAction.kt (1 line): - line 41: // TODO: Is there any way for IdeaVim to handle shift+numpadPlus? src/main/java/com/maddyhome/idea/vim/extension/commentary/CommentaryExtension.kt (1 line): - line 112: // TODO: If we don't move the caret to the start offset, we should maintain the current logical position vim-engine/src/main/kotlin/com/maddyhome/idea/vim/common/DigraphSequence.kt (1 line): - line 208: // TODO: If we get 10 here, we return 0. If we get 10 below, we return 13. Why the difference? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/collectionFunctions/MapFunctionHandlers.kt (1 line): - line 168: // TODO: Validate index values vim-engine/src/main/antlr/Vimscript.g4 (1 line): - line 267: // TODO: expr10.name vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/expressions/operators/handlers/binary/EqualToHandler.kt (1 line): - line 41: // TODO: Implement for Blob src/main/java/com/maddyhome/idea/vim/extension/argtextobj/VimArgTextObjExtension.kt (1 line): - line 276: // TODO this method should use IdeaVim methods to determine if the current position is in the string vim-engine/src/main/kotlin/com/maddyhome/idea/vim/put/PutData.kt (1 line): - line 44: val rawText = copiedText.text // TODO do not call it raw text... vim-engine/src/main/kotlin/com/maddyhome/idea/vim/command/MappingState.kt (1 line): - line 38: // TODO: This should probably return List to match the keys we're using in KeyMapping vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/scroll/CtrlUpDownAction.kt (1 line): - line 23: // FIXME: 2019-07-05 Workaround to make jump through methods work vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/KeyMapping.kt (1 line): - line 61: // TODO: Do we need this as well as get()? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/undo/VimTimestampBasedUndoService.kt (1 line): - line 18: * TODO [IdeaVim developer] it would be cool to make commands part of this service, to make undo subsystem more clear src/main/java/com/maddyhome/idea/vim/ui/widgets/macro/MacroWidgetFactory.kt (1 line): - line 80: // TODO: At the moment recording macro & RegisterGroup is bound to application, so macro will be recorded even if we src/main/java/com/maddyhome/idea/vim/vimscript/model/options/helpers/IdeaRefactorModeHelper.kt (1 line): - line 74: // FIXME: 01.11.2019 Nasty workaround because of problems in IJ platform vim-engine/src/main/kotlin/com/maddyhome/idea/vim/command/OperatorArguments.kt (1 line): - line 17: * TODO: Remove, rename or otherwise refactor this class vim-engine/src/main/kotlin/com/maddyhome/idea/vim/regexp/VimRegex.kt (1 line): - line 51: * TODO: in my opinion only the find() and findAll() methods are necessary. vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/datatypes/VimList.kt (1 line): - line 159: // TODO: In Vim, I only see the check for nesting, not that referencing a higher level makes it fail vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimSearchHelperBase.kt (1 line): - line 1783: // TODO: Remove this when IdeaVim supports selecting the new line character vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/consumers/CharArgumentConsumer.kt (1 line): - line 30: * TODO: Should this handle its own cancellation? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimVisualMotionGroupBase.kt (1 line): - line 158: // TODO: Improve handling of this.exclusiveSelection vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimClipboardManager.kt (1 line): - line 40: fun dumbCopiedText(text: String): VimCopiedText // TODO this method is NOT preffered, it does not collect transferableData vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/change/insert/InsertCompletedLiteralAction.kt (1 line): - line 27: // TODO: This should really just be CHARACTER vim-engine/src/main/kotlin/com/maddyhome/idea/vim/common/VimVisualGroup.kt (1 line): - line 22: // TODO: Remove this unnecessary restriction on not selecting the new line character src/main/java/com/maddyhome/idea/vim/group/MotionGroup.kt (1 line): - line 285: // TODO: Visual column arithmetic will be inaccurate as it include columns for inlays and folds vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/expressions/operators/handlers/binary/IsHandler.kt (1 line): - line 44: // TODO: The name check might not be enough once we properly support script-local functions vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/CopyTextCommand.kt (1 line): - line 52: // TODO: This should maintain current column location vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/mapping/MapClearCommand.kt (1 line): - line 53: // TODO: Support lmapclear src/main/java/com/maddyhome/idea/vim/newapi/IjVimMessages.kt (1 line): - line 45: // TODO: We really shouldn't set the status bar text for other projects. That's rude. vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/consumers/EditorResetConsumer.kt (1 line): - line 36: * TODO: What about Visual mode? I think this leaves a hole in escape processing for Visual src/main/java/com/maddyhome/idea/vim/ex/ExOutputModel.kt (1 line): - line 19: // TODO: We need a nicer way to handle output, especially wrt testing, appending + clearing src/main/java/com/maddyhome/idea/vim/PluginStartup.kt (1 line): - line 77: // TODO: Confirm context in CWM scenario vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/motion/visual/VisualSwapSelectionsAction.kt (1 line): - line 29: // FIXME: 2019-03-05 Make it multicaret vim-engine/src/main/kotlin/com/maddyhome/idea/vim/mark/Marks.kt (1 line): - line 34: // TODO: Consider having a shared Interface / comparator for Mark and BufferPosition to avoid this duplication. vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/change/insert/InsertCompletedDigraphAction.kt (1 line): - line 27: // TODO: This should really just be CHARACTER vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/FileCommand.kt (1 line): - line 35: // TODO: Support the `:file {name}` argument to set the name of the current file src/main/java/com/maddyhome/idea/vim/helper/ScrollViewHelper.kt (1 line): - line 54: // TODO: Make this work with soft wraps src/main/java/com/maddyhome/idea/vim/ui/ex/ScrollingInlineCompositeView.kt (1 line): - line 65: // TODO: This is where we would handle right or centred aligned text, but we don't care about that vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimScriptFunctionServiceBase.kt (1 line): - line 183: // TODO: How to remove scoped functions? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/mapping/UnMapCommand.kt (1 line): - line 57: // TODO: Support lunmap vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/collectionFunctions/ForEachFunctionHandler.kt (1 line): - line 69: // TODO: We don't have a way of returning error when invoking a function src/main/java/com/maddyhome/idea/vim/helper/EditorHelper.java (1 line): - line 121: * TODO: Investigate better ways of handling scroll offset vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/expressions/OptionExpression.kt (1 line): - line 59: // TODO: This should be E521: Number required: &{option}='{value}' vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/commands/ExCommandTree.kt (1 line): - line 14: // TODO do we really need a tree structure here? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/expressions/operators/handlers/binary/ComparisonOperatorHandler.kt (1 line): - line 47: // TODO: Handle Blob. Presumably both sides must be Blob vim-engine/src/main/kotlin/com/maddyhome/idea/vim/action/change/change/ChangeCharacterAction.kt (1 line): - line 64: // TODO: Is this correct? Should we really use only current caret? We have a caret as an argument vim-engine/src/main/kotlin/com/maddyhome/idea/vim/key/interceptors/VimInputInterceptorBase.kt (1 line): - line 16: // TODO make it safer to utilise key.isCloseKeystroke and similar logic vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimEditorGroup.kt (1 line): - line 59: // TODO find a better place for methods below. Maybe make CaretVisualAttributesHelper abstract? vim-engine/src/main/kotlin/com/maddyhome/idea/vim/options/helpers/KeywordOptionHelper.kt (1 line): - line 50: // TODO: Come up with a more friendly API for IdeaVim-EasyMotion src/main/java/com/maddyhome/idea/vim/group/EditorGroup.java (1 line): - line 64: // TODO: Get rid of this custom line converter once we support soft wraps properly vim-engine/src/main/kotlin/com/maddyhome/idea/vim/vimscript/model/functions/handlers/collectionFunctions/ExtendFunctionHandlers.kt (1 line): - line 78: // TODO: Should return 0 on error. However, IdeaVim does not support this and can only throw errors