├── .github └── FUNDING.yml ├── LICENSE ├── README.md ├── build_deb_1.0-1.arm_64.sh ├── build_deb_1.0-1.x86_64.sh ├── build_macos_1.0-1.arm_64.sh ├── build_macos_1.0-1.x86.sh ├── build_rpm_1.0-1.arm_64.sh ├── build_rpm_1.0-1.x86_64.sh ├── builds └── .DS_Store ├── debian ├── control │ ├── control-amd64 │ └── control-arm64 ├── feather-1.0-1 │ ├── .DS_Store │ ├── debian │ │ ├── .debhelper │ │ │ ├── feather │ │ │ │ ├── dbgsym-build-ids │ │ │ │ └── dbgsym-root │ │ │ │ │ ├── DEBIAN │ │ │ │ │ ├── control │ │ │ │ │ └── md5sums │ │ │ │ │ └── usr │ │ │ │ │ └── lib │ │ │ │ │ └── debug │ │ │ │ │ └── .build-id │ │ │ │ │ └── 50 │ │ │ │ │ └── 4a193bd491121ec1e0275b886d7ed6af8160d0.debug │ │ │ └── generated │ │ │ │ └── feather │ │ │ │ ├── installed-by-dh_install │ │ │ │ ├── installed-by-dh_installdocs │ │ │ │ └── installed-by-dh_installman │ │ ├── changelog │ │ ├── control │ │ ├── control-amd64 │ │ ├── debhelper-build-stamp │ │ ├── feather.debhelper.log │ │ ├── feather.desktop │ │ ├── feather.substvars │ │ ├── feather │ │ │ ├── DEBIAN │ │ │ │ ├── control │ │ │ │ └── md5sums │ │ │ └── usr │ │ │ │ ├── bin │ │ │ │ └── feather │ │ │ │ └── share │ │ │ │ ├── applications │ │ │ │ └── feather.desktop │ │ │ │ ├── doc │ │ │ │ └── feather │ │ │ │ │ └── changelog.Debian.gz │ │ │ │ ├── icons │ │ │ │ └── hicolor │ │ │ │ │ ├── 128x128 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 16x16 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 22x22 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 24x24 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 256x256 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 32x32 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 36x36 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 48x48 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 512x512 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 64x64 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 72x72 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ ├── 96x96 │ │ │ │ │ └── apps │ │ │ │ │ │ └── feather.png │ │ │ │ │ └── scalable │ │ │ │ │ └── apps │ │ │ │ │ └── feather.svg │ │ │ │ │ └── feather.png │ │ │ │ ├── man │ │ │ │ └── man1 │ │ │ │ │ └── feather.1.gz │ │ │ │ └── pixmaps │ │ │ │ └── feather.png │ │ ├── files │ │ └── rules │ └── logo │ │ ├── 128x128 │ │ └── apps │ │ │ └── feather.png │ │ ├── 16x16 │ │ └── apps │ │ │ └── feather.png │ │ ├── 22x22 │ │ └── apps │ │ │ └── feather.png │ │ ├── 24x24 │ │ └── apps │ │ │ └── feather.png │ │ ├── 256x256 │ │ └── apps │ │ │ └── feather.png │ │ ├── 32x32 │ │ └── apps │ │ │ └── feather.png │ │ ├── 36x36 │ │ └── apps │ │ │ └── feather.png │ │ ├── 48x48 │ │ └── apps │ │ │ └── feather.png │ │ ├── 512x512 │ │ └── apps │ │ │ └── feather.png │ │ ├── 64x64 │ │ └── apps │ │ │ └── feather.png │ │ ├── 72x72 │ │ └── apps │ │ │ └── feather.png │ │ ├── 96x96 │ │ └── apps │ │ │ └── feather.png │ │ └── feather.png └── rules │ └── rules ├── feather-1.0 ├── .DS_Store ├── feather.1 ├── featherConfig.json ├── hdr │ ├── action │ │ ├── Action.hpp │ │ ├── ActionHandler.hpp │ │ ├── ActionType.hpp │ │ ├── AlignToMiddleOfScreenAction.hpp │ │ ├── CopyLineAction.hpp │ │ ├── CutAction.hpp │ │ ├── EditLineAboveAction.hpp │ │ ├── EditLineBelowAction.hpp │ │ ├── EditNextCharacterAction.hpp │ │ ├── GetStringsAction.hpp │ │ ├── GotoLineAction.hpp │ │ ├── HighlightBetweenBracketsAction.hpp │ │ ├── JumpToBracketAction.hpp │ │ ├── MoveToByteAction.hpp │ │ ├── MoveToFileBeginAction.hpp │ │ ├── MoveToFileEndAction.hpp │ │ ├── MoveToLineBeginAction.hpp │ │ ├── MoveToLineEndAction.hpp │ │ ├── MoveToLineEndWithEditAction.hpp │ │ ├── MoveToNextWordAction.hpp │ │ ├── MoveToPreviousWordAction.hpp │ │ ├── PasteAction.hpp │ │ ├── RemoveAllAction.hpp │ │ ├── RemoveBetweenBracketsAction.hpp │ │ ├── RemoveBetweenWhiteCharactersAction.hpp │ │ ├── RemoveCharacterUnderCursorAction.hpp │ │ ├── RemoveLineAction.hpp │ │ ├── RemoveUntilFileBeginAction.hpp │ │ ├── RemoveUntilFileEndAction.hpp │ │ ├── RemoveUntilLineEndAction.hpp │ │ ├── RemoveWordBackwardAction.hpp │ │ ├── RemoveWordForwardAction.hpp │ │ ├── ReplaceAllAction.hpp │ │ ├── SaveChangesAction.hpp │ │ ├── SearchSubstringAction.hpp │ │ ├── ShiftRightAction.hpp │ │ ├── SkipEmptyCharactersAction.hpp │ │ ├── SwitchModeAction.hpp │ │ ├── input │ │ │ ├── AlignToMiddleOfScreenActionInput.hpp │ │ │ ├── CopyLineActionInput.hpp │ │ │ ├── CutActionInput.hpp │ │ │ ├── EditLineAboveActionInput.hpp │ │ │ ├── EditLineBelowActionInput.hpp │ │ │ ├── EditNextCharacterActionInput.hpp │ │ │ ├── GetStringsActionInput.hpp │ │ │ ├── GotoLineActionInput.hpp │ │ │ ├── HighlightBetweenBracketsActionInput.hpp │ │ │ ├── JumpToBracketActionInput.hpp │ │ │ ├── MoveToByteActionInput.hpp │ │ │ ├── MoveToFileBeginActionInput.hpp │ │ │ ├── MoveToFileEndActionInput.hpp │ │ │ ├── MoveToLineBeginActionInput.hpp │ │ │ ├── MoveToLineEndActionInput.hpp │ │ │ ├── MoveToLineEndWithEditActionInput.hpp │ │ │ ├── MoveToNextWordActionInput.hpp │ │ │ ├── MoveToPreviousWordActionInput.hpp │ │ │ ├── PasteActionInput.hpp │ │ │ ├── RemoveAllActionInput.hpp │ │ │ ├── RemoveBetweenBracketsActionInput.hpp │ │ │ ├── RemoveBetweenWhiteCharactersActionInput.hpp │ │ │ ├── RemoveCharacterUnderCursorActionInput.hpp │ │ │ ├── RemoveLineActionInput.hpp │ │ │ ├── RemoveUntilFileBeginActionInput.hpp │ │ │ ├── RemoveUntilFileEndActionInput.hpp │ │ │ ├── RemoveUntilLineEndActionInput.hpp │ │ │ ├── RemoveWordBackwardActionInput.hpp │ │ │ ├── RemoveWordForwardActionInput.hpp │ │ │ ├── ReplaceAllActionInput.hpp │ │ │ ├── SaveChangesActionInput.hpp │ │ │ ├── SearchSubstringActionInput.hpp │ │ │ ├── ShiftRightActionInput.hpp │ │ │ ├── SkipEmptyCharactersActionInput.hpp │ │ │ └── SwitchModeActionInput.hpp │ │ └── output │ │ │ ├── AlignToMiddleOfScreenActionOutput.hpp │ │ │ ├── CopyLineActionOutput.hpp │ │ │ ├── CutActionOutput.hpp │ │ │ ├── EditLineAboveActionOutput.hpp │ │ │ ├── EditLineBelowActionOutput.hpp │ │ │ ├── EditNextCharacterActionOutput.hpp │ │ │ ├── GetStringsActionOutput.hpp │ │ │ ├── GotoLineActionOutput.hpp │ │ │ ├── HighlightBetweenBracketsActionOutput.hpp │ │ │ ├── JumpToBracketActionOutput.hpp │ │ │ ├── MoveToByteActionOutput.hpp │ │ │ ├── MoveToFileBeginActionOutput.hpp │ │ │ ├── MoveToFileEndActionOutput.hpp │ │ │ ├── MoveToLineBeginActionOutput.hpp │ │ │ ├── MoveToLineEndActionOutput.hpp │ │ │ ├── MoveToLineEndWithEditActionOutput.hpp │ │ │ ├── MoveToNextWordActionOutput.hpp │ │ │ ├── MoveToPreviousWordActionOutput.hpp │ │ │ ├── PasteActionOutput.hpp │ │ │ ├── RemoveAllActionOutput.hpp │ │ │ ├── RemoveBetweenBracketsActionOutput.hpp │ │ │ ├── RemoveBetweenWhiteCharactersActionOutput.hpp │ │ │ ├── RemoveCharacterUnderCursorActionOutput.hpp │ │ │ ├── RemoveLineActionOutput.hpp │ │ │ ├── RemoveUntilFileBeginActionOutput.hpp │ │ │ ├── RemoveUntilFileEndActionOutput.hpp │ │ │ ├── RemoveUntilLineEndActionOutput.hpp │ │ │ ├── RemoveWordBackwardActionOutput.hpp │ │ │ ├── RemoveWordForwardActionOutput.hpp │ │ │ ├── ReplaceAllActionOutput.hpp │ │ │ ├── SaveChangesActionOutput.hpp │ │ │ ├── SearchSubstringActionOutput.hpp │ │ │ ├── ShiftRightActionOutput.hpp │ │ │ ├── SkipEmptyCharactersActionOutput.hpp │ │ │ └── SwitchModeActionOutput.hpp │ ├── cache │ │ ├── Cache.hpp │ │ └── List.hpp │ ├── config │ │ ├── Config.hpp │ │ └── ReadMode.hpp │ ├── printer │ │ ├── ActionVisitor.hpp │ │ ├── ActionVisitorInterface.hpp │ │ ├── ChangesStack.hpp │ │ ├── CurrFrameVisitor.hpp │ │ ├── FilePrintingStorage.hpp │ │ ├── FrameDownVisitor.hpp │ │ ├── FrameUpVisitor.hpp │ │ ├── HalfFrameDownVisitor.hpp │ │ ├── HalfFrameUpVisitor.hpp │ │ ├── LineDownVisitor.hpp │ │ ├── LineUpVisitor.hpp │ │ ├── MemoryPrintingStorage.hpp │ │ ├── PrintingOrchestrator.hpp │ │ ├── PrintingOrchestratorInterface.hpp │ │ ├── PrintingStorageInterface.hpp │ │ ├── PrintingVisitorInterface.hpp │ │ └── WindowStatus.hpp │ ├── reader │ │ ├── ActionReader.hpp │ │ ├── KeyStroke.hpp │ │ ├── Reader.hpp │ │ └── SearchReader.hpp │ ├── utils │ │ ├── BufferFiller.hpp │ │ ├── BufferFillerInterface.hpp │ │ ├── Direction.hpp │ │ ├── FeatherMode.hpp │ │ ├── Filesystem.hpp │ │ ├── FilesystemInterface.hpp │ │ ├── FilledChunk.hpp │ │ ├── MoveCursorOnScreenStateMachine.hpp │ │ ├── NCursesWrapper.hpp │ │ ├── NtpClient.hpp │ │ ├── NtpPacket.hpp │ │ ├── ProgramOptionsParser.hpp │ │ ├── ScreenBuffer.hpp │ │ ├── Serializer.hpp │ │ ├── Utf8Util.hpp │ │ ├── algorithm │ │ │ ├── FastSearch.hpp │ │ │ ├── RegexSearch.hpp │ │ │ ├── SearchBuffer.hpp │ │ │ ├── SearchBufferEntry.hpp │ │ │ ├── SearchEngine.hpp │ │ │ ├── SearchEngineBase.hpp │ │ │ ├── SearchResultsController.hpp │ │ │ └── SearchZooKeeper.hpp │ │ ├── datatypes │ │ │ ├── ChangePOD.hpp │ │ │ ├── ChangeType.hpp │ │ │ ├── ChangesArchive.hpp │ │ │ ├── Colors.hpp │ │ │ ├── ColorsArchive.hpp │ │ │ ├── Command.hpp │ │ │ ├── DeletionsArchive.hpp │ │ │ ├── DeletionsSnapshot.hpp │ │ │ ├── DeserializedChangesArchive.hpp │ │ │ ├── DeserializedColorsArchive.hpp │ │ │ ├── DeserializedDeletionsArchive.hpp │ │ │ ├── Error.hpp │ │ │ ├── FileErrors.hpp │ │ │ ├── Global.hpp │ │ │ ├── Hash.hpp │ │ │ ├── Metadata.hpp │ │ │ ├── Strings.hpp │ │ │ ├── Uuid.hpp │ │ │ └── UuidHash.hpp │ │ ├── exception │ │ │ ├── FeatherBaseException.hpp │ │ │ ├── FeatherCacheFullException.hpp │ │ │ ├── FeatherCacheMissException.hpp │ │ │ ├── FeatherFileConcurrentlyModifiedException.hpp │ │ │ ├── FeatherFileNotExistException.hpp │ │ │ ├── FeatherInterruptedException.hpp │ │ │ ├── FeatherInvalidArgumnetException.hpp │ │ │ ├── FeatherLogicalException.hpp │ │ │ ├── FeatherMemoryException.hpp │ │ │ ├── FeatherPermissionsException.hpp │ │ │ ├── FeatherRuntimeException.hpp │ │ │ └── FeatherTimeoutException.hpp │ │ ├── helpers │ │ │ ├── Conversion.hpp │ │ │ ├── KeyReader.hpp │ │ │ ├── Lambda.hpp │ │ │ ├── RawCharactersBuffer.hpp │ │ │ └── Signal.hpp │ │ ├── logger │ │ │ ├── LogSeverity.hpp │ │ │ ├── Logger.hpp │ │ │ └── policy │ │ │ │ ├── FileLogPolicy.hpp │ │ │ │ ├── MemoryLogPolicy.hpp │ │ │ │ └── OutputDeviceLogPolicy.hpp │ │ ├── storage │ │ │ ├── AbstractStorage.hpp │ │ │ ├── AbstractStorageFactory.hpp │ │ │ ├── FileStorage.hpp │ │ │ ├── FileStorageFactory.hpp │ │ │ ├── InMemoryStorage.hpp │ │ │ └── InMemoryStorageFactory.hpp │ │ └── windows │ │ │ ├── FramePositions.hpp │ │ │ ├── LinesAroundPositionInformation.hpp │ │ │ ├── WindowInformationInterface.hpp │ │ │ ├── WindowInformationVisitorInterface.hpp │ │ │ ├── WindowLinesLengthInformationVisitor.hpp │ │ │ └── WindowStateContainer.hpp │ └── windows │ │ ├── MainWindowInterface.hpp │ │ ├── NCursesAgreementWindowDecorator.hpp │ │ ├── NCursesBottomBarWindowDecorator.hpp │ │ ├── NCursesExitWindowDecorator.hpp │ │ ├── NCursesInfoWindowDecorator.hpp │ │ ├── NCursesMainWindowDecorator.hpp │ │ ├── NCursesProgressWindowDecorator.hpp │ │ ├── NCursesShortcutsWindowDecorator.hpp │ │ ├── NCursesTopWindowDecorator.hpp │ │ ├── NCursesWindow.hpp │ │ ├── NCursesWindowsFactory.hpp │ │ ├── SubWindowInterface.hpp │ │ ├── WindowImplInterface.hpp │ │ ├── WindowsAbstarctFactoryDummy.hpp │ │ ├── WindowsAbstractFactory.hpp │ │ ├── WindowsManager.hpp │ │ └── WindowsManagerDummy.hpp ├── lib │ ├── .DS_Store │ ├── cereal │ │ ├── access.hpp │ │ ├── archives │ │ │ ├── adapters.hpp │ │ │ ├── binary.hpp │ │ │ ├── json.hpp │ │ │ ├── portable_binary.hpp │ │ │ └── xml.hpp │ │ ├── cereal.hpp │ │ ├── details │ │ │ ├── helpers.hpp │ │ │ ├── polymorphic_impl.hpp │ │ │ ├── polymorphic_impl_fwd.hpp │ │ │ ├── static_object.hpp │ │ │ ├── traits.hpp │ │ │ └── util.hpp │ │ ├── external │ │ │ ├── LICENSE │ │ │ ├── base64.hpp │ │ │ ├── rapidjson │ │ │ │ ├── LICENSE │ │ │ │ ├── allocators.h │ │ │ │ ├── cursorstreamwrapper.h │ │ │ │ ├── document.h │ │ │ │ ├── encodedstream.h │ │ │ │ ├── encodings.h │ │ │ │ ├── error │ │ │ │ │ ├── en.h │ │ │ │ │ └── error.h │ │ │ │ ├── filereadstream.h │ │ │ │ ├── filewritestream.h │ │ │ │ ├── fwd.h │ │ │ │ ├── internal │ │ │ │ │ ├── biginteger.h │ │ │ │ │ ├── diyfp.h │ │ │ │ │ ├── dtoa.h │ │ │ │ │ ├── ieee754.h │ │ │ │ │ ├── itoa.h │ │ │ │ │ ├── meta.h │ │ │ │ │ ├── pow10.h │ │ │ │ │ ├── regex.h │ │ │ │ │ ├── stack.h │ │ │ │ │ ├── strfunc.h │ │ │ │ │ ├── strtod.h │ │ │ │ │ └── swap.h │ │ │ │ ├── istreamwrapper.h │ │ │ │ ├── memorybuffer.h │ │ │ │ ├── memorystream.h │ │ │ │ ├── msinttypes │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── inttypes.h │ │ │ │ │ └── stdint.h │ │ │ │ ├── ostreamwrapper.h │ │ │ │ ├── pointer.h │ │ │ │ ├── prettywriter.h │ │ │ │ ├── rapidjson.h │ │ │ │ ├── reader.h │ │ │ │ ├── schema.h │ │ │ │ ├── stream.h │ │ │ │ ├── stringbuffer.h │ │ │ │ └── writer.h │ │ │ └── rapidxml │ │ │ │ ├── license.txt │ │ │ │ ├── manual.html │ │ │ │ ├── rapidxml.hpp │ │ │ │ ├── rapidxml_iterators.hpp │ │ │ │ ├── rapidxml_print.hpp │ │ │ │ └── rapidxml_utils.hpp │ │ ├── macros.hpp │ │ ├── specialize.hpp │ │ ├── types │ │ │ ├── array.hpp │ │ │ ├── atomic.hpp │ │ │ ├── base_class.hpp │ │ │ ├── bitset.hpp │ │ │ ├── boost_variant.hpp │ │ │ ├── chrono.hpp │ │ │ ├── common.hpp │ │ │ ├── complex.hpp │ │ │ ├── concepts │ │ │ │ └── pair_associative_container.hpp │ │ │ ├── deque.hpp │ │ │ ├── forward_list.hpp │ │ │ ├── functional.hpp │ │ │ ├── list.hpp │ │ │ ├── map.hpp │ │ │ ├── memory.hpp │ │ │ ├── optional.hpp │ │ │ ├── polymorphic.hpp │ │ │ ├── queue.hpp │ │ │ ├── set.hpp │ │ │ ├── stack.hpp │ │ │ ├── string.hpp │ │ │ ├── tuple.hpp │ │ │ ├── unordered_map.hpp │ │ │ ├── unordered_set.hpp │ │ │ ├── utility.hpp │ │ │ ├── valarray.hpp │ │ │ ├── variant.hpp │ │ │ └── vector.hpp │ │ └── version.hpp │ ├── encryption │ │ ├── arithmetic.hpp │ │ ├── arithmetic │ │ │ ├── add.hpp │ │ │ ├── dec.hpp │ │ │ ├── detail │ │ │ │ └── div_base.hpp │ │ │ ├── div.hpp │ │ │ ├── inc.hpp │ │ │ ├── mod.hpp │ │ │ ├── mul.hpp │ │ │ └── sub.hpp │ │ ├── array.hpp │ │ ├── array │ │ │ ├── data.hpp │ │ │ ├── detail │ │ │ │ └── get_data.hpp │ │ │ ├── elem.hpp │ │ │ ├── enum.hpp │ │ │ ├── insert.hpp │ │ │ ├── pop_back.hpp │ │ │ ├── pop_front.hpp │ │ │ ├── push_back.hpp │ │ │ ├── push_front.hpp │ │ │ ├── remove.hpp │ │ │ ├── replace.hpp │ │ │ ├── reverse.hpp │ │ │ ├── size.hpp │ │ │ ├── to_list.hpp │ │ │ ├── to_seq.hpp │ │ │ └── to_tuple.hpp │ │ ├── assert_msg.hpp │ │ ├── boost_config │ │ │ ├── config.hpp │ │ │ └── limits.hpp │ │ ├── cat.hpp │ │ ├── comma.hpp │ │ ├── comma_if.hpp │ │ ├── comparison.hpp │ │ ├── comparison │ │ │ ├── equal.hpp │ │ │ ├── greater.hpp │ │ │ ├── greater_equal.hpp │ │ │ ├── less.hpp │ │ │ ├── less_equal.hpp │ │ │ └── not_equal.hpp │ │ ├── control.hpp │ │ ├── control │ │ │ ├── deduce_d.hpp │ │ │ ├── detail │ │ │ │ ├── dmc │ │ │ │ │ └── while.hpp │ │ │ │ ├── edg │ │ │ │ │ └── while.hpp │ │ │ │ ├── msvc │ │ │ │ │ └── while.hpp │ │ │ │ └── while.hpp │ │ │ ├── expr_if.hpp │ │ │ ├── expr_iif.hpp │ │ │ ├── if.hpp │ │ │ ├── iif.hpp │ │ │ └── while.hpp │ │ ├── debug.hpp │ │ ├── debug │ │ │ ├── assert.hpp │ │ │ ├── error.hpp │ │ │ └── line.hpp │ │ ├── dec.hpp │ │ ├── detail │ │ │ ├── auto_rec.hpp │ │ │ ├── check.hpp │ │ │ ├── dmc │ │ │ │ └── auto_rec.hpp │ │ │ ├── is_binary.hpp │ │ │ ├── is_nullary.hpp │ │ │ ├── is_unary.hpp │ │ │ ├── null.hpp │ │ │ └── split.hpp │ │ ├── empty.hpp │ │ ├── enum.hpp │ │ ├── enum_params.hpp │ │ ├── enum_params_with_a_default.hpp │ │ ├── enum_params_with_defaults.hpp │ │ ├── enum_shifted.hpp │ │ ├── enum_shifted_params.hpp │ │ ├── expand.hpp │ │ ├── expr_if.hpp │ │ ├── facilities.hpp │ │ ├── facilities │ │ │ ├── apply.hpp │ │ │ ├── detail │ │ │ │ └── is_empty.hpp │ │ │ ├── empty.hpp │ │ │ ├── expand.hpp │ │ │ ├── identity.hpp │ │ │ ├── intercept.hpp │ │ │ ├── is_1.hpp │ │ │ ├── is_empty.hpp │ │ │ ├── is_empty_or_1.hpp │ │ │ ├── is_empty_variadic.hpp │ │ │ └── overload.hpp │ │ ├── for.hpp │ │ ├── identity.hpp │ │ ├── if.hpp │ │ ├── inc.hpp │ │ ├── iterate.hpp │ │ ├── iteration.hpp │ │ ├── iteration │ │ │ ├── detail │ │ │ │ ├── bounds │ │ │ │ │ ├── lower1.hpp │ │ │ │ │ ├── lower2.hpp │ │ │ │ │ ├── lower3.hpp │ │ │ │ │ ├── lower4.hpp │ │ │ │ │ ├── lower5.hpp │ │ │ │ │ ├── upper1.hpp │ │ │ │ │ ├── upper2.hpp │ │ │ │ │ ├── upper3.hpp │ │ │ │ │ ├── upper4.hpp │ │ │ │ │ └── upper5.hpp │ │ │ │ ├── finish.hpp │ │ │ │ ├── iter │ │ │ │ │ ├── forward1.hpp │ │ │ │ │ ├── forward2.hpp │ │ │ │ │ ├── forward3.hpp │ │ │ │ │ ├── forward4.hpp │ │ │ │ │ ├── forward5.hpp │ │ │ │ │ ├── reverse1.hpp │ │ │ │ │ ├── reverse2.hpp │ │ │ │ │ ├── reverse3.hpp │ │ │ │ │ ├── reverse4.hpp │ │ │ │ │ └── reverse5.hpp │ │ │ │ ├── local.hpp │ │ │ │ ├── rlocal.hpp │ │ │ │ ├── self.hpp │ │ │ │ └── start.hpp │ │ │ ├── iterate.hpp │ │ │ ├── local.hpp │ │ │ └── self.hpp │ │ ├── library.hpp │ │ ├── limits.hpp │ │ ├── list.hpp │ │ ├── list │ │ │ ├── adt.hpp │ │ │ ├── append.hpp │ │ │ ├── at.hpp │ │ │ ├── cat.hpp │ │ │ ├── detail │ │ │ │ ├── dmc │ │ │ │ │ └── fold_left.hpp │ │ │ │ ├── edg │ │ │ │ │ ├── fold_left.hpp │ │ │ │ │ └── fold_right.hpp │ │ │ │ ├── fold_left.hpp │ │ │ │ └── fold_right.hpp │ │ │ ├── enum.hpp │ │ │ ├── filter.hpp │ │ │ ├── first_n.hpp │ │ │ ├── fold_left.hpp │ │ │ ├── fold_right.hpp │ │ │ ├── for_each.hpp │ │ │ ├── for_each_i.hpp │ │ │ ├── for_each_product.hpp │ │ │ ├── rest_n.hpp │ │ │ ├── reverse.hpp │ │ │ ├── size.hpp │ │ │ ├── to_array.hpp │ │ │ ├── to_seq.hpp │ │ │ ├── to_tuple.hpp │ │ │ └── transform.hpp │ │ ├── logical.hpp │ │ ├── logical │ │ │ ├── and.hpp │ │ │ ├── bitand.hpp │ │ │ ├── bitnor.hpp │ │ │ ├── bitor.hpp │ │ │ ├── bitxor.hpp │ │ │ ├── bool.hpp │ │ │ ├── compl.hpp │ │ │ ├── nor.hpp │ │ │ ├── not.hpp │ │ │ ├── or.hpp │ │ │ └── xor.hpp │ │ ├── max.hpp │ │ ├── min.hpp │ │ ├── punctuation.hpp │ │ ├── punctuation │ │ │ ├── comma.hpp │ │ │ ├── comma_if.hpp │ │ │ ├── detail │ │ │ │ └── is_begin_parens.hpp │ │ │ ├── is_begin_parens.hpp │ │ │ ├── paren.hpp │ │ │ ├── paren_if.hpp │ │ │ └── remove_parens.hpp │ │ ├── repeat.hpp │ │ ├── repeat_2nd.hpp │ │ ├── repeat_3rd.hpp │ │ ├── repeat_from_to.hpp │ │ ├── repeat_from_to_2nd.hpp │ │ ├── repeat_from_to_3rd.hpp │ │ ├── repetition.hpp │ │ ├── repetition │ │ │ ├── deduce_r.hpp │ │ │ ├── deduce_z.hpp │ │ │ ├── detail │ │ │ │ ├── dmc │ │ │ │ │ └── for.hpp │ │ │ │ ├── edg │ │ │ │ │ └── for.hpp │ │ │ │ ├── for.hpp │ │ │ │ └── msvc │ │ │ │ │ └── for.hpp │ │ │ ├── enum.hpp │ │ │ ├── enum_binary_params.hpp │ │ │ ├── enum_params.hpp │ │ │ ├── enum_params_with_a_default.hpp │ │ │ ├── enum_params_with_defaults.hpp │ │ │ ├── enum_shifted.hpp │ │ │ ├── enum_shifted_binary_params.hpp │ │ │ ├── enum_shifted_params.hpp │ │ │ ├── enum_trailing.hpp │ │ │ ├── enum_trailing_binary_params.hpp │ │ │ ├── enum_trailing_params.hpp │ │ │ ├── for.hpp │ │ │ ├── repeat.hpp │ │ │ └── repeat_from_to.hpp │ │ ├── selection.hpp │ │ ├── selection │ │ │ ├── max.hpp │ │ │ └── min.hpp │ │ ├── seq.hpp │ │ ├── seq │ │ │ ├── cat.hpp │ │ │ ├── detail │ │ │ │ ├── binary_transform.hpp │ │ │ │ ├── is_empty.hpp │ │ │ │ ├── split.hpp │ │ │ │ └── to_list_msvc.hpp │ │ │ ├── elem.hpp │ │ │ ├── enum.hpp │ │ │ ├── filter.hpp │ │ │ ├── first_n.hpp │ │ │ ├── fold_left.hpp │ │ │ ├── fold_right.hpp │ │ │ ├── for_each.hpp │ │ │ ├── for_each_i.hpp │ │ │ ├── for_each_product.hpp │ │ │ ├── insert.hpp │ │ │ ├── pop_back.hpp │ │ │ ├── pop_front.hpp │ │ │ ├── push_back.hpp │ │ │ ├── push_front.hpp │ │ │ ├── remove.hpp │ │ │ ├── replace.hpp │ │ │ ├── rest_n.hpp │ │ │ ├── reverse.hpp │ │ │ ├── seq.hpp │ │ │ ├── size.hpp │ │ │ ├── subseq.hpp │ │ │ ├── to_array.hpp │ │ │ ├── to_list.hpp │ │ │ ├── to_tuple.hpp │ │ │ ├── transform.hpp │ │ │ └── variadic_seq_to_seq.hpp │ │ ├── slot.hpp │ │ ├── slot │ │ │ ├── counter.hpp │ │ │ ├── detail │ │ │ │ ├── counter.hpp │ │ │ │ ├── def.hpp │ │ │ │ ├── shared.hpp │ │ │ │ ├── slot1.hpp │ │ │ │ ├── slot2.hpp │ │ │ │ ├── slot3.hpp │ │ │ │ ├── slot4.hpp │ │ │ │ └── slot5.hpp │ │ │ └── slot.hpp │ │ ├── stringize.hpp │ │ ├── tuple.hpp │ │ ├── tuple │ │ │ ├── detail │ │ │ │ └── is_single_return.hpp │ │ │ ├── eat.hpp │ │ │ ├── elem.hpp │ │ │ ├── enum.hpp │ │ │ ├── insert.hpp │ │ │ ├── pop_back.hpp │ │ │ ├── pop_front.hpp │ │ │ ├── push_back.hpp │ │ │ ├── push_front.hpp │ │ │ ├── rem.hpp │ │ │ ├── remove.hpp │ │ │ ├── replace.hpp │ │ │ ├── reverse.hpp │ │ │ ├── size.hpp │ │ │ ├── to_array.hpp │ │ │ ├── to_list.hpp │ │ │ └── to_seq.hpp │ │ ├── variadic.hpp │ │ ├── variadic │ │ │ ├── detail │ │ │ │ └── is_single_return.hpp │ │ │ ├── elem.hpp │ │ │ ├── size.hpp │ │ │ ├── to_array.hpp │ │ │ ├── to_list.hpp │ │ │ ├── to_seq.hpp │ │ │ └── to_tuple.hpp │ │ ├── while.hpp │ │ └── wstringize.hpp │ ├── googlemock │ │ ├── CHANGES │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTORS │ │ ├── CTestTestfile.cmake │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── README.md │ │ ├── build-aux │ │ │ └── .keep │ │ ├── cmake_install.cmake │ │ ├── configure.ac │ │ ├── docs │ │ │ ├── CheatSheet.md │ │ │ ├── CookBook.md │ │ │ ├── DesignDoc.md │ │ │ ├── DevGuide.md │ │ │ ├── Documentation.md │ │ │ ├── ForDummies.md │ │ │ ├── FrequentlyAskedQuestions.md │ │ │ ├── KnownIssues.md │ │ │ ├── v1_5 │ │ │ │ ├── CheatSheet.md │ │ │ │ ├── CookBook.md │ │ │ │ ├── Documentation.md │ │ │ │ ├── ForDummies.md │ │ │ │ └── FrequentlyAskedQuestions.md │ │ │ ├── v1_6 │ │ │ │ ├── CheatSheet.md │ │ │ │ ├── CookBook.md │ │ │ │ ├── Documentation.md │ │ │ │ ├── ForDummies.md │ │ │ │ └── FrequentlyAskedQuestions.md │ │ │ └── v1_7 │ │ │ │ ├── CheatSheet.md │ │ │ │ ├── CookBook.md │ │ │ │ ├── Documentation.md │ │ │ │ ├── ForDummies.md │ │ │ │ └── FrequentlyAskedQuestions.md │ │ ├── gtest │ │ │ ├── CTestTestfile.cmake │ │ │ ├── Makefile │ │ │ ├── cmake_install.cmake │ │ │ ├── libgtest.dylib │ │ │ ├── libgtest.so │ │ │ ├── libgtest_main.dylib │ │ │ └── libgtest_main.so │ │ ├── include │ │ │ └── gmock │ │ │ │ ├── gmock-actions.h │ │ │ │ ├── gmock-cardinalities.h │ │ │ │ ├── gmock-generated-actions.h │ │ │ │ ├── gmock-generated-actions.h.pump │ │ │ │ ├── gmock-generated-function-mockers.h │ │ │ │ ├── gmock-generated-function-mockers.h.pump │ │ │ │ ├── gmock-generated-matchers.h │ │ │ │ ├── gmock-generated-matchers.h.pump │ │ │ │ ├── gmock-generated-nice-strict.h │ │ │ │ ├── gmock-generated-nice-strict.h.pump │ │ │ │ ├── gmock-matchers.h │ │ │ │ ├── gmock-more-actions.h │ │ │ │ ├── gmock-more-matchers.h │ │ │ │ ├── gmock-spec-builders.h │ │ │ │ ├── gmock.h │ │ │ │ └── internal │ │ │ │ ├── custom │ │ │ │ ├── gmock-generated-actions.h │ │ │ │ ├── gmock-generated-actions.h.pump │ │ │ │ ├── gmock-matchers.h │ │ │ │ └── gmock-port.h │ │ │ │ ├── gmock-generated-internal-utils.h │ │ │ │ ├── gmock-generated-internal-utils.h.pump │ │ │ │ ├── gmock-internal-utils.h │ │ │ │ └── gmock-port.h │ │ ├── libgmock.dylib │ │ ├── libgmock_main.dylib │ │ ├── libgmock_main.so │ │ ├── msvc │ │ │ ├── 2005 │ │ │ │ ├── gmock.sln │ │ │ │ ├── gmock.vcproj │ │ │ │ ├── gmock_config.vsprops │ │ │ │ ├── gmock_main.vcproj │ │ │ │ └── gmock_test.vcproj │ │ │ ├── 2010 │ │ │ │ ├── gmock.sln │ │ │ │ ├── gmock.vcxproj │ │ │ │ ├── gmock_config.props │ │ │ │ ├── gmock_main.vcxproj │ │ │ │ └── gmock_test.vcxproj │ │ │ └── 2015 │ │ │ │ ├── gmock.sln │ │ │ │ ├── gmock.vcxproj │ │ │ │ ├── gmock_config.props │ │ │ │ ├── gmock_main.vcxproj │ │ │ │ └── gmock_test.vcxproj │ │ ├── scripts │ │ │ ├── fuse_gmock_files.py │ │ │ ├── generator │ │ │ │ ├── LICENSE │ │ │ │ ├── README │ │ │ │ ├── README.cppclean │ │ │ │ ├── cpp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ast.py │ │ │ │ │ ├── gmock_class.py │ │ │ │ │ ├── gmock_class_test.py │ │ │ │ │ ├── keywords.py │ │ │ │ │ ├── tokenize.py │ │ │ │ │ └── utils.py │ │ │ │ └── gmock_gen.py │ │ │ ├── gmock-config.in │ │ │ ├── gmock_doctor.py │ │ │ ├── upload.py │ │ │ └── upload_gmock.py │ │ └── src │ │ │ ├── gmock-all.cc │ │ │ ├── gmock-cardinalities.cc │ │ │ ├── gmock-internal-utils.cc │ │ │ ├── gmock-matchers.cc │ │ │ ├── gmock-spec-builders.cc │ │ │ ├── gmock.cc │ │ │ └── gmock_main.cc │ ├── googletest │ │ ├── CHANGES │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── README.md │ │ ├── build-aux │ │ │ └── .keep │ │ ├── cmake │ │ │ └── internal_utils.cmake │ │ ├── cmake_install.cmake │ │ ├── codegear │ │ │ ├── gtest.cbproj │ │ │ ├── gtest.groupproj │ │ │ ├── gtest_all.cc │ │ │ ├── gtest_link.cc │ │ │ ├── gtest_main.cbproj │ │ │ └── gtest_unittest.cbproj │ │ ├── configure.ac │ │ ├── docs │ │ │ ├── AdvancedGuide.md │ │ │ ├── DevGuide.md │ │ │ ├── Documentation.md │ │ │ ├── FAQ.md │ │ │ ├── Primer.md │ │ │ ├── PumpManual.md │ │ │ ├── Samples.md │ │ │ ├── V1_5_AdvancedGuide.md │ │ │ ├── V1_5_Documentation.md │ │ │ ├── V1_5_FAQ.md │ │ │ ├── V1_5_Primer.md │ │ │ ├── V1_5_PumpManual.md │ │ │ ├── V1_5_XcodeGuide.md │ │ │ ├── V1_6_AdvancedGuide.md │ │ │ ├── V1_6_Documentation.md │ │ │ ├── V1_6_FAQ.md │ │ │ ├── V1_6_Primer.md │ │ │ ├── V1_6_PumpManual.md │ │ │ ├── V1_6_Samples.md │ │ │ ├── V1_6_XcodeGuide.md │ │ │ ├── V1_7_AdvancedGuide.md │ │ │ ├── V1_7_Documentation.md │ │ │ ├── V1_7_FAQ.md │ │ │ ├── V1_7_Primer.md │ │ │ ├── V1_7_PumpManual.md │ │ │ ├── V1_7_Samples.md │ │ │ ├── V1_7_XcodeGuide.md │ │ │ └── XcodeGuide.md │ │ ├── include │ │ │ └── gtest │ │ │ │ ├── gtest-death-test.h │ │ │ │ ├── gtest-message.h │ │ │ │ ├── gtest-param-test.h │ │ │ │ ├── gtest-param-test.h.pump │ │ │ │ ├── gtest-printers.h │ │ │ │ ├── gtest-spi.h │ │ │ │ ├── gtest-test-part.h │ │ │ │ ├── gtest-typed-test.h │ │ │ │ ├── gtest.h │ │ │ │ ├── gtest_pred_impl.h │ │ │ │ ├── gtest_prod.h │ │ │ │ └── internal │ │ │ │ ├── custom │ │ │ │ ├── gtest-port.h │ │ │ │ ├── gtest-printers.h │ │ │ │ └── gtest.h │ │ │ │ ├── gtest-death-test-internal.h │ │ │ │ ├── gtest-filepath.h │ │ │ │ ├── gtest-internal.h │ │ │ │ ├── gtest-linked_ptr.h │ │ │ │ ├── gtest-param-util-generated.h │ │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ │ ├── gtest-param-util.h │ │ │ │ ├── gtest-port-arch.h │ │ │ │ ├── gtest-port.h │ │ │ │ ├── gtest-string.h │ │ │ │ ├── gtest-tuple.h │ │ │ │ ├── gtest-tuple.h.pump │ │ │ │ ├── gtest-type-util.h │ │ │ │ └── gtest-type-util.h.pump │ │ ├── libgtest_main.so │ │ ├── m4 │ │ │ ├── acx_pthread.m4 │ │ │ └── gtest.m4 │ │ ├── msvc │ │ │ ├── gtest-md.sln │ │ │ ├── gtest-md.vcproj │ │ │ ├── gtest.sln │ │ │ ├── gtest.vcproj │ │ │ ├── gtest_main-md.vcproj │ │ │ ├── gtest_main.vcproj │ │ │ ├── gtest_prod_test-md.vcproj │ │ │ ├── gtest_prod_test.vcproj │ │ │ ├── gtest_unittest-md.vcproj │ │ │ └── gtest_unittest.vcproj │ │ ├── samples │ │ │ ├── prime_tables.h │ │ │ ├── sample1.cc │ │ │ ├── sample1.h │ │ │ ├── sample10_unittest.cc │ │ │ ├── sample1_unittest.cc │ │ │ ├── sample2.cc │ │ │ ├── sample2.h │ │ │ ├── sample2_unittest.cc │ │ │ ├── sample3-inl.h │ │ │ ├── sample3_unittest.cc │ │ │ ├── sample4.cc │ │ │ ├── sample4.h │ │ │ ├── sample4_unittest.cc │ │ │ ├── sample5_unittest.cc │ │ │ ├── sample6_unittest.cc │ │ │ ├── sample7_unittest.cc │ │ │ ├── sample8_unittest.cc │ │ │ └── sample9_unittest.cc │ │ ├── scripts │ │ │ ├── common.py │ │ │ ├── fuse_gtest_files.py │ │ │ ├── gen_gtest_pred_impl.py │ │ │ ├── gtest-config.in │ │ │ ├── pump.py │ │ │ ├── release_docs.py │ │ │ ├── upload.py │ │ │ └── upload_gtest.py │ │ ├── src │ │ │ ├── gtest-all.cc │ │ │ ├── gtest-death-test.cc │ │ │ ├── gtest-filepath.cc │ │ │ ├── gtest-internal-inl.h │ │ │ ├── gtest-port.cc │ │ │ ├── gtest-printers.cc │ │ │ ├── gtest-test-part.cc │ │ │ ├── gtest-typed-test.cc │ │ │ ├── gtest.cc │ │ │ └── gtest_main.cc │ │ └── xcode │ │ │ ├── Config │ │ │ ├── DebugProject.xcconfig │ │ │ ├── FrameworkTarget.xcconfig │ │ │ ├── General.xcconfig │ │ │ ├── ReleaseProject.xcconfig │ │ │ ├── StaticLibraryTarget.xcconfig │ │ │ └── TestTarget.xcconfig │ │ │ ├── Resources │ │ │ └── Info.plist │ │ │ ├── Samples │ │ │ └── FrameworkSample │ │ │ │ ├── Info.plist │ │ │ │ ├── WidgetFramework.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ │ ├── runtests.sh │ │ │ │ ├── widget.cc │ │ │ │ ├── widget.h │ │ │ │ └── widget_test.cc │ │ │ ├── Scripts │ │ │ ├── runtests.sh │ │ │ └── versiongenerate.py │ │ │ └── gtest.xcodeproj │ │ │ └── project.pbxproj │ └── rapidjson │ │ ├── allocators.h │ │ ├── cursorstreamwrapper.h │ │ ├── document.h │ │ ├── encodedstream.h │ │ ├── encodings.h │ │ ├── error │ │ ├── en.h │ │ └── error.h │ │ ├── filereadstream.h │ │ ├── filewritestream.h │ │ ├── fwd.h │ │ ├── internal │ │ ├── biginteger.h │ │ ├── clzll.h │ │ ├── diyfp.h │ │ ├── dtoa.h │ │ ├── ieee754.h │ │ ├── itoa.h │ │ ├── meta.h │ │ ├── pow10.h │ │ ├── regex.h │ │ ├── stack.h │ │ ├── strfunc.h │ │ ├── strtod.h │ │ └── swap.h │ │ ├── istreamwrapper.h │ │ ├── memorybuffer.h │ │ ├── memorystream.h │ │ ├── msinttypes │ │ ├── inttypes.h │ │ └── stdint.h │ │ ├── ostreamwrapper.h │ │ ├── pointer.h │ │ ├── prettywriter.h │ │ ├── rapidjson.h │ │ ├── reader.h │ │ ├── schema.h │ │ ├── stream.h │ │ ├── stringbuffer.h │ │ └── writer.h ├── logo │ ├── 128x128 │ │ └── apps │ │ │ └── feather.png │ ├── 16x16 │ │ └── apps │ │ │ └── feather.png │ ├── 22x22 │ │ └── apps │ │ │ └── feather.png │ ├── 24x24 │ │ └── apps │ │ │ └── feather.png │ ├── 256x256 │ │ └── apps │ │ │ └── feather.png │ ├── 32x32 │ │ └── apps │ │ │ └── feather.png │ ├── 36x36 │ │ └── apps │ │ │ └── feather.png │ ├── 48x48 │ │ └── apps │ │ │ └── feather.png │ ├── 512x512 │ │ └── apps │ │ │ └── feather.png │ ├── 64x64 │ │ └── apps │ │ │ └── feather.png │ ├── 72x72 │ │ └── apps │ │ │ └── feather.png │ ├── 96x96 │ │ └── apps │ │ │ └── feather.png │ └── feather.png ├── makefile ├── scripts │ └── run_tests.sh ├── src │ ├── action │ │ ├── Action.cpp │ │ ├── ActionHandler.cpp │ │ ├── AlignToMiddleOfScreenAction.cpp │ │ ├── CopyLineAction.cpp │ │ ├── CutAction.cpp │ │ ├── EditLineAboveAction.cpp │ │ ├── EditLineBelowAction.cpp │ │ ├── EditNextCharacterAction.cpp │ │ ├── GetStringsAction.cpp │ │ ├── GotoLineAction.cpp │ │ ├── HighlightBetweenBracketsAction.cpp │ │ ├── JumpToBracketAction.cpp │ │ ├── MoveToByteAction.cpp │ │ ├── MoveToFileBeginAction.cpp │ │ ├── MoveToFileEndAction.cpp │ │ ├── MoveToLineBeginAction.cpp │ │ ├── MoveToLineEndAction.cpp │ │ ├── MoveToLineEndWithEditAction.cpp │ │ ├── MoveToNextWordAction.cpp │ │ ├── MoveToPreviousWordAction.cpp │ │ ├── PasteAction.cpp │ │ ├── RemoveAllAction.cpp │ │ ├── RemoveBetweenBracketsAction.cpp │ │ ├── RemoveBetweenWhiteCharactersAction.cpp │ │ ├── RemoveCharacterUnderCursorAction.cpp │ │ ├── RemoveLineAction.cpp │ │ ├── RemoveUntilFileBeginAction.cpp │ │ ├── RemoveUntilFileEndAction.cpp │ │ ├── RemoveUntilLineEndAction.cpp │ │ ├── RemoveWordBackwardAction.cpp │ │ ├── RemoveWordForwardAction.cpp │ │ ├── ReplaceAllAction.cpp │ │ ├── SaveChangesAction.cpp │ │ ├── SearchSubstringAction.cpp │ │ ├── ShiftRightAction.cpp │ │ ├── SkipEmptyCharactersAction.cpp │ │ ├── SwitchModeAction.cpp │ │ ├── input │ │ │ ├── AlignToMiddleOfScreenActionInput.cpp │ │ │ ├── CopyLineActionInput.cpp │ │ │ ├── CutActionInput.cpp │ │ │ ├── EditLineAboveActionInput.cpp │ │ │ ├── EditLineBelowActionInput.cpp │ │ │ ├── EditNextCharacterActionInput.cpp │ │ │ ├── GetStringsActionInput.cpp │ │ │ ├── GotoLineActionInput.cpp │ │ │ ├── HighlightBetweenBracketsActionInput.cpp │ │ │ ├── JumpToBracketActionInput.cpp │ │ │ ├── MoveToByteActionInput.cpp │ │ │ ├── MoveToFileBeginActionInput.cpp │ │ │ ├── MoveToFileEndActionInput.cpp │ │ │ ├── MoveToLineBeginActionInput.cpp │ │ │ ├── MoveToLineEndActionInput.cpp │ │ │ ├── MoveToLineEndWithEditActionInput.cpp │ │ │ ├── MoveToNextWordActionInput.cpp │ │ │ ├── MoveToPreviousWordActionInput.cpp │ │ │ ├── PasteActionInput.cpp │ │ │ ├── RemoveAllActionInput.cpp │ │ │ ├── RemoveBetweenBracketsActionInput.cpp │ │ │ ├── RemoveBetweenWhiteCharactersActionInput.cpp │ │ │ ├── RemoveCharacterUnderCursorActionInput.cpp │ │ │ ├── RemoveLineActionInput.cpp │ │ │ ├── RemoveUntilFileBeginActionInput.cpp │ │ │ ├── RemoveUntilFileEndActionInput.cpp │ │ │ ├── RemoveUntilLineEndActionInput.cpp │ │ │ ├── RemoveWordBackwardActionInput.cpp │ │ │ ├── RemoveWordForwardActionInput.cpp │ │ │ ├── ReplaceAllActionInput.cpp │ │ │ ├── SaveChangesActionInput.cpp │ │ │ ├── SearchSubstringActionInput.cpp │ │ │ ├── ShiftRightActionInput.cpp │ │ │ ├── SkipEmptyCharactersActionInput.cpp │ │ │ └── SwitchModeActionInput.cpp │ │ └── output │ │ │ ├── AlignToMiddleOfScreenActionOutput.cpp │ │ │ ├── CopyLineActionOutput.cpp │ │ │ ├── CutActionOutput.cpp │ │ │ ├── EditLineAboveActionOutput.cpp │ │ │ ├── EditLineBelowActionOutput.cpp │ │ │ ├── EditNextCharacterActionOutput.cpp │ │ │ ├── GetStringsActionOutput.cpp │ │ │ ├── GotoLineActionOutput.cpp │ │ │ ├── HighlightBetweenBracketsActionOutput.cpp │ │ │ ├── JumpToBracketActionOutput.cpp │ │ │ ├── MoveToByteActionOutput.cpp │ │ │ ├── MoveToFileBeginActionOutput.cpp │ │ │ ├── MoveToFileEndActionOutput.cpp │ │ │ ├── MoveToLineBeginActionOutput.cpp │ │ │ ├── MoveToLineEndActionOutput.cpp │ │ │ ├── MoveToLineEndWithEditActionOutput.cpp │ │ │ ├── MoveToNextWordActionOutput.cpp │ │ │ ├── MoveToPreviousWordActionOutput.cpp │ │ │ ├── PasteActionOutput.cpp │ │ │ ├── RemoveAllActionOutput.cpp │ │ │ ├── RemoveBetweenBracketsActionOutput.cpp │ │ │ ├── RemoveBetweenWhiteCharactersActionOutput.cpp │ │ │ ├── RemoveCharacterUnderCursorActionOutput.cpp │ │ │ ├── RemoveLineActionOutput.cpp │ │ │ ├── RemoveUntilFileBeginActionOutput.cpp │ │ │ ├── RemoveUntilFileEndActionOutput.cpp │ │ │ ├── RemoveUntilLineEndActionOutput.cpp │ │ │ ├── RemoveWordBackwardActionOutput.cpp │ │ │ ├── RemoveWordForwardActionOutput.cpp │ │ │ ├── ReplaceAllActionOutput.cpp │ │ │ ├── SaveChangesActionOutput.cpp │ │ │ ├── SearchSubstringActionOutput.cpp │ │ │ ├── ShiftRightActionOutput.cpp │ │ │ ├── SkipEmptyCharactersActionOutput.cpp │ │ │ └── SwitchModeActionOutput.cpp │ ├── cache │ │ ├── Cache.cpp │ │ └── List.cpp │ ├── config │ │ └── Config.cpp │ ├── feather.cpp │ ├── printer │ │ ├── ChangesStack.cpp │ │ ├── CurrFrameVisitor.cpp │ │ ├── FilePrintingStorage.cpp │ │ ├── FrameDownVisitor.cpp │ │ ├── FrameUpVisitor.cpp │ │ ├── HalfFrameDownVisitor.cpp │ │ ├── HalfFrameUpVisitor.cpp │ │ ├── LineDownVisitor.cpp │ │ ├── LineUpVisitor.cpp │ │ ├── MemoryPrintingStorage.cpp │ │ ├── PrintingOrchestrator.cpp │ │ ├── PrintingOrchestratorInterface.cpp │ │ └── WindowStatus.cpp │ ├── reader │ │ ├── ActionReader.cpp │ │ ├── KeyStroke.cpp │ │ ├── Reader.cpp │ │ └── SearchReader.cpp │ ├── utils │ │ ├── BufferFiller.cpp │ │ ├── BufferFillerInterface.cpp │ │ ├── Filesystem.cpp │ │ ├── FilesystemInterface.cpp │ │ ├── MoveCursorOnScreenStateMachine.cpp │ │ ├── NCursesWrapper.cpp │ │ ├── ProgramOptionsParser.cpp │ │ ├── ScreenBuffer.cpp │ │ ├── Serializer.cpp │ │ ├── algorithm │ │ │ ├── FastSearch.cpp │ │ │ ├── RegexSearch.cpp │ │ │ ├── SearchBuffer.cpp │ │ │ ├── SearchBufferEntry.cpp │ │ │ ├── SearchEngine.cpp │ │ │ ├── SearchEngineBase.cpp │ │ │ ├── SearchResultsController.cpp │ │ │ └── SearchZooKeeper.cpp │ │ ├── datatypes │ │ │ ├── ChangePOD.cpp │ │ │ ├── DeletionsSnapshot.cpp │ │ │ ├── Metadata.cpp │ │ │ └── Uuid.cpp │ │ ├── exception │ │ │ └── Exception.cpp │ │ ├── helpers │ │ │ ├── Conversion.cpp │ │ │ ├── KeyReader.cpp │ │ │ ├── Lambda.cpp │ │ │ ├── RawCharactersBuffer.cpp │ │ │ └── Signal.cpp │ │ ├── logger │ │ │ └── Logger.cpp │ │ ├── storage │ │ │ ├── AbstractStorage.cpp │ │ │ ├── AbstractStorageFactory.cpp │ │ │ ├── FileStorage.cpp │ │ │ ├── FileStorageFactory.cpp │ │ │ ├── InMemoryStorage.cpp │ │ │ └── InMemoryStorageFactory.cpp │ │ └── windows │ │ │ ├── FramePositions.cpp │ │ │ ├── LinesAroundPositionInformation.cpp │ │ │ └── WindowLinesLengthInformationVisitor.cpp │ └── windows │ │ ├── MainWindowInterface.cpp │ │ ├── NCursesAgreementWindowDecorator.cpp │ │ ├── NCursesBottomBarWindowDecorator.cpp │ │ ├── NCursesExitWindowDecorator.cpp │ │ ├── NCursesInfoWindowDecorator.cpp │ │ ├── NCursesMainWindowDecorator.cpp │ │ ├── NCursesProgressWindowDecorator.cpp │ │ ├── NCursesShortcutsWindowDecorator.cpp │ │ ├── NCursesTopWindowDecorator.cpp │ │ ├── NCursesWindow.cpp │ │ ├── NCursesWindowsFactory.cpp │ │ ├── SubWindowInterface.cpp │ │ ├── WindowImplInterface.cpp │ │ ├── WindowsAbstractFactory.cpp │ │ └── WindowsManager.cpp └── tst │ ├── integ │ ├── BufferFillerIntegTest.cpp │ ├── CopyLineActionIntegTest.cpp │ ├── EditLineBelowActionIntegTest.cpp │ ├── EditNextCharacterActionIntegTest.cpp │ ├── FastSearchIntegTest.cpp │ ├── JumpToBracketActionIntegTest.cpp │ ├── LambdaIntegTest.cpp │ ├── MoveToByteActionIntegTest.cpp │ ├── MoveToLineEndActionIntegTest.cpp │ ├── MoveToLineEndWithEditActionIntegTest.cpp │ ├── MoveToNextWordActionIntegTest.cpp │ ├── NCursesMainWindowDecoratorIntegTest.cpp │ ├── PasteActionIntegTest.cpp │ ├── PrintingOrchestartorIntegTest.cpp │ ├── RemoveBetweenWhiteCharactersActionIntegTest.cpp │ ├── RemoveCharacterUnderCursorActionIntegTest.cpp │ ├── RemoveLineActionIntegTest.cpp │ ├── RemoveUntilLineEndActionIntegTest.cpp │ ├── RemoveWordBackwardActionIntegTest.cpp │ ├── RemoveWordForwardActionIntegTest.cpp │ ├── SaveChangesActionIntegTest.cpp │ ├── SearchBufferIntegTest.cpp │ ├── SerializerIntegTest.cpp │ └── SwitchModeActionIntegTest.cpp │ └── ut │ ├── action │ ├── ActionHandlerTest.cpp │ ├── MoveToByteActionTest.cpp │ ├── MoveToFileEndActionTest.cpp │ ├── MoveToNextWordActionTest.cpp │ ├── MoveToPreviousWordActionTest.cpp │ ├── RemoveCharacterUnderCursorActionTest.cpp │ ├── RemoveLineActionTest.cpp │ └── SaveChangesActionTest.cpp │ ├── cache │ └── CacheTest.cpp │ ├── config │ └── ConfigTest.cpp │ ├── helpers │ ├── FileStorageHelper.cpp │ ├── FileStorageHelper.hpp │ ├── TestBase.cpp │ ├── TestBase.hpp │ ├── Timeout.cpp │ ├── Timeout.hpp │ ├── feather.log │ ├── featherConfig.json │ ├── improperFeatherConfig.json │ ├── partialFeatherConfig.json │ ├── testfiles │ │ ├── 1111222233334444 │ │ │ └── 2_IS_17573869185184923612.fea │ │ ├── 1_IS_17573869185184923612.fea │ │ ├── 220097a9-67fc-4110-b92e-c60227359c68 │ │ │ ├── 1_IS_17573869185184923612.fea │ │ │ └── 2_IS_17573869185184923612.fea │ │ ├── 2222333344445555 │ │ │ └── SS_17573869185184923612.fea │ │ ├── 2_IS_17573869185184923612.fea │ │ ├── IS_x6fx62x6a.fea │ │ ├── Utf8TestFile │ │ ├── Utf8TestFile_2 │ │ ├── aaabbbcccddd │ │ │ ├── 1_IS_17573869185184923612.fea │ │ │ ├── 2_IS_17573869185184923612.fea │ │ │ └── SS_17573869185184923612.fea │ │ ├── changes4NewCharacters │ │ ├── changesWithNewLine │ │ ├── emptyFile │ │ ├── fileWrapperTestFile │ │ ├── searchResultSingleLine │ │ ├── searchResultTwoLinesSecondarySearch │ │ ├── searchResultsMultipleLines │ │ ├── searchResultsMultipleLinesInitialSearch │ │ ├── testFile_01_07_2018 │ │ ├── testFile_06_10_2018 │ │ ├── testFile_09_09_2018 │ │ ├── testFile_10_02_2019 │ │ ├── testFile_11_02_2019 │ │ ├── testFile_11_08_2018 │ │ ├── testFile_11_10_2018 │ │ ├── testFile_15_09_2018 │ │ ├── testFile_16_02_2019 │ │ ├── testFile_22_06_2019 │ │ ├── testFile_23_11_2018 │ │ └── testFile_24_09_2018 │ ├── ut │ └── wrongDataTypesFeatherConfig.json │ ├── mocks │ ├── BufferFillerMock.hpp │ ├── ChangesStackMock.hpp │ ├── ConfigurationMock.hpp │ ├── FileLogPolicyMock.hpp │ ├── FilesystemMock.hpp │ ├── NCursesBottomBarWindowDecoratorMock.hpp │ ├── NCursesMainWindowDecoratorMock.hpp │ ├── NCursesProgressWindowDecoratorMock.hpp │ ├── NCursesWindowMock.hpp │ ├── NCursesWrapperMock.hpp │ ├── PrintingOrchestratorMock.hpp │ ├── PrintingStorageMock.hpp │ ├── PrintingVisitorMock.hpp │ ├── StorageMock.hpp │ ├── WindowsFactoryMock.hpp │ └── WindowsManagerMock.hpp │ ├── printer │ ├── ChangesStackTest.cpp │ ├── FilePrintingStorageTest.cpp │ ├── PrintingOrchestratorTest.cpp │ └── WindowStatusTest.cpp │ ├── reader │ └── KeyStrokeTest.cpp │ ├── threadpool │ └── ThreadPoolTest.cpp │ ├── utils │ ├── MoveCursorOnScreenStateMachineTest.cpp │ ├── NCursesWrapperTest.cpp │ ├── ProgramOptionsParserTest.cpp │ ├── ScreenBufferTest.cpp │ ├── Utf8UtilTest.cpp │ ├── algorithm │ │ ├── RegexSearchTest.cpp │ │ ├── SearchResultsControllerTest.cpp │ │ └── SearchZooKeeperTest.cpp │ ├── helpers │ │ └── ConversionTest.cpp │ ├── logger │ │ └── policy │ │ │ └── FileLogPolicyTest.cpp │ ├── storage │ │ └── FileStorageTest.cpp │ └── windows │ │ ├── FramePositionsTest.cpp │ │ └── WindowLinesAroundPositionInformationVisitorTest.cpp │ └── windows │ ├── NCursesBottomBarWindowDecoratorTest.cpp │ ├── NCursesMainWindowDecoratorTest.cpp │ ├── NCursesWindowTest.cpp │ ├── NCursesWindowsFactoryTest.cpp │ └── WindowsManagerTest.cpp └── rpmbuild └── SPECS ├── arm.spec └── x86.spec /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: @0xBaca 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: ["https://www.paypal.com/paypalme/0xbaca"] 14 | -------------------------------------------------------------------------------- /build_deb_1.0-1.arm_64.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | 3 | cd feather-1.0 && make clean && cd .. 4 | cp feather-1.0/feather.1 /home/madi/Documents/Feather/sf_frame/debian/feather-1.0-1/debian/manpage.1.ex 5 | cd feather-1.0 && tar czvf ../debian/feather-1.0-1.arm_64.tar.gz . && cd .. 6 | tar -xf ./debian/feather-1.0-1.arm_64.tar.gz -C ./debian/feather-1.0-1 7 | cp ./debian/control/control-arm64 ./debian/feather-1.0-1/debian/control 8 | cp ./debian/rules/rules ./debian/feather-1.0-1/debian/rules 9 | 10 | cd ./debian/feather-1.0-1/ && dpkg-buildpackage -b -rfakeroot -uc -us && cd ../.. 11 | rm -f builds/feather_deb_arm64_deb.zip 12 | zip builds/feather_deb_arm64.zip debian/feather_1-1_arm64.deb 13 | rm -f builds/feather_1-1_arm64.deb 14 | -------------------------------------------------------------------------------- /build_deb_1.0-1.x86_64.sh: -------------------------------------------------------------------------------- 1 | #/bin/bash 2 | 3 | cd feather-1.0 && make clean && cd .. 4 | cp feather-1.0/feather.1 /home/madi/Documents/Feather/sf_frame/debian/feather-1.0-1/debian/manpage.1.ex 5 | cd feather-1.0 && tar czvf ../debian/feather-1.0-1.x86_64.tar.gz . && cd .. 6 | tar -xf ./debian/feather-1.0-1.x86_64.tar.gz -C ./debian/feather-1.0-1/ 7 | cp ./debian/control/control-amd64 ./debian/feather-1.0-1/debian/control 8 | cp ./debian/rules/rules ./debian/feather-1.0-1/debian/rules 9 | 10 | cd ./debian/feather-1.0-1/ && dpkg-buildpackage -b -rfakeroot -uc -us && cd ../.. 11 | rm -f builds/feather_deb_amd64_deb.zip 12 | zip builds/feather_deb_amd64.zip debian/feather_1-1_amd64.deb 13 | -------------------------------------------------------------------------------- /build_macos_1.0-1.arm_64.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | build_name="feather_macos_arm64.zip" 4 | 5 | rm -f ./builds/$build_name 6 | cd feather-1.0 && make clean && make && zip $build_name feather && mv $build_name ../builds 7 | -------------------------------------------------------------------------------- /build_macos_1.0-1.x86.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | build_name="feather_macos_x86.zip" 4 | 5 | rm -f ./builds/$build_name 6 | cd feather-1.0 && make clean && make && zip $build_name feather && mv $build_name ../builds 7 | -------------------------------------------------------------------------------- /build_rpm_1.0-1.arm_64.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | cd feather-1.0 && make clean && cd .. 4 | rm -f rpmbuild/SOURCES/feather-1.0-1.arm_64.tar.gz 5 | tar czvf rpmbuild/SOURCES/feather-1.0-1.arm_64.tar.gz feather-1.0 6 | rpmbuild --define "_topdir `pwd`/rpmbuild/" -ba ./rpmbuild/SPECS/arm.spec 7 | rm -f builds/feather_rpm_arm64.zip 8 | zip builds/feather_rpm_arm64.zip rpmbuild/RPMS/aarch64/feather-1.0-1.aarch64.rpm 9 | -------------------------------------------------------------------------------- /build_rpm_1.0-1.x86_64.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | cd feather-1.0 && make clean && cd .. 4 | tar czvf rpmbuild/SOURCES/feather-1.0-1.x86_64.tar.gz feather-1.0 5 | rpmbuild --define "_topdir `pwd`/rpmbuild/" -ba ./rpmbuild/SPECS/x86.spec 6 | rm -f builds/feather_rpm_amd64.zip 7 | zip builds/feather_rpm_amd64.zip rpmbuild/RPMS/x86_64/feather-1.0-1.x86_64.rpm 8 | -------------------------------------------------------------------------------- /builds/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/builds/.DS_Store -------------------------------------------------------------------------------- /debian/control/control-amd64: -------------------------------------------------------------------------------- 1 | Source: feather-1.0 2 | Section: free/editors 3 | Priority: optional 4 | Maintainer: MateuszWojtczak <0xbaca@gmail.com> 5 | Build-Depends: debhelper-compat (= 12), libncursesw6, libncurses-dev, libncurses6 6 | Standards-Version: 4.4.1 7 | Homepage: https://www.feathereditor.com 8 | 9 | Package: feather 10 | Architecture: amd64 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, libncursesw6, libncurses6 12 | Description: The only low memory text editor. 13 | The only terminal based text editor designed to work with BIG files. 14 | It doesn't matter if you will edit a 100MB or 100GB file. Feather will do. 15 | -------------------------------------------------------------------------------- /debian/control/control-arm64: -------------------------------------------------------------------------------- 1 | Source: feather-1.0 2 | Section: free/editors 3 | Priority: optional 4 | Maintainer: MateuszWojtczak <0xbaca@gmail.com> 5 | Build-Depends: debhelper-compat (= 12), libncursesw6, libncurses-dev, libncurses6 6 | Standards-Version: 4.4.1 7 | Homepage: https://www.feathereditor.com 8 | 9 | Package: feather 10 | Architecture: arm64 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, libncursesw6, libncurses6 12 | Description: The only low memory text editor. 13 | The only terminal based text editor designed to work with BIG files. 14 | It doesn't matter if you will edit a 100MB or 100GB file. Feather will do. 15 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/.DS_Store -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/feather/dbgsym-build-ids: -------------------------------------------------------------------------------- 1 | 504a193bd491121ec1e0275b886d7ed6af8160d0 -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/feather/dbgsym-root/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: feather-dbgsym 2 | Package-Type: ddeb 3 | Source: feather-1.0 4 | Version: 1-1 5 | Auto-Built-Package: debug-symbols 6 | Architecture: arm64 7 | Maintainer: MateuszWojtczak <0xbaca@gmail.com> 8 | Installed-Size: 775 9 | Depends: feather (= 1-1) 10 | Section: free/debug 11 | Priority: optional 12 | Description: debug symbols for feather 13 | Build-Ids: 504a193bd491121ec1e0275b886d7ed6af8160d0 14 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/feather/dbgsym-root/DEBIAN/md5sums: -------------------------------------------------------------------------------- 1 | 3bbb69513841dc1a92c7f98a45e9765c usr/lib/debug/.build-id/50/4a193bd491121ec1e0275b886d7ed6af8160d0.debug 2 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/feather/dbgsym-root/usr/lib/debug/.build-id/50/4a193bd491121ec1e0275b886d7ed6af8160d0.debug: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/.debhelper/feather/dbgsym-root/usr/lib/debug/.build-id/50/4a193bd491121ec1e0275b886d7ed6af8160d0.debug -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/generated/feather/installed-by-dh_install: -------------------------------------------------------------------------------- 1 | ./feather 2 | ./feather.1 3 | ./debian/feather.desktop 4 | ./logo/48x48/apps/feather.png 5 | ./logo/48x48/apps/feather.png 6 | ./logo/16x16/apps/feather.png 7 | ./logo/22x22/apps/feather.png 8 | ./logo/24x24/apps/feather.png 9 | ./logo/32x32/apps/feather.png 10 | ./logo/36x36/apps/feather.png 11 | ./logo/48x48/apps/feather.png 12 | ./logo/64x64/apps/feather.png 13 | ./logo/72x72/apps/feather.png 14 | ./logo/96x96/apps/feather.png 15 | ./logo/128x128/apps/feather.png 16 | ./logo/256x256/apps/feather.png 17 | ./logo/512x512/apps/feather.png 18 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/generated/feather/installed-by-dh_installdocs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/.debhelper/generated/feather/installed-by-dh_installdocs -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/.debhelper/generated/feather/installed-by-dh_installman: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/.debhelper/generated/feather/installed-by-dh_installman -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/changelog: -------------------------------------------------------------------------------- 1 | feather-1.0 (1-1) unstable; urgency=medium 2 | 3 | * Initial release (Closes: #nnnn) 4 | 5 | -- root <0xbaca@gmail.com> Fri, 12 Mar 2021 11:58:32 -0800 6 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/control: -------------------------------------------------------------------------------- 1 | Source: feather-1.0 2 | Section: free/editors 3 | Priority: optional 4 | Maintainer: MateuszWojtczak <0xbaca@gmail.com> 5 | Build-Depends: debhelper-compat (= 12), libncursesw6, libncurses-dev, libncurses6 6 | Standards-Version: 4.4.1 7 | Homepage: https://www.feathereditor.com 8 | 9 | Package: feather 10 | Architecture: arm64 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, libncursesw6, libncurses6 12 | Description: The only low memory text editor. 13 | The only terminal based text editor designed to work with BIG files. 14 | It doesn't matter if you will edit a 100MB or 100GB file. Feather will do. 15 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/control-amd64: -------------------------------------------------------------------------------- 1 | Source: feather-1.0 2 | Section: non-free/editors 3 | Priority: optional 4 | Maintainer: MateuszWojtczak <0xbaca@gmail.com> 5 | Build-Depends: debhelper-compat (= 12), libncursesw6, libncurses-dev, libncurses6 6 | Standards-Version: 4.4.1 7 | Homepage: https://www.feathereditor.com 8 | 9 | Package: feather 10 | Architecture: amd64 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, libncursesw6, libncurses6 12 | Description: The only low memory text editor. 13 | The only terminal based text editor designed to work with BIG files. 14 | It doesn't matter if you will edit a 100MB or 100GB file. Feather will do. 15 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/debhelper-build-stamp: -------------------------------------------------------------------------------- 1 | feather 2 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather.debhelper.log: -------------------------------------------------------------------------------- 1 | dh_install 2 | dh_install 3 | dh_install 4 | dh_install 5 | dh_install 6 | dh_install 7 | dh_install 8 | dh_install 9 | dh_install 10 | dh_install 11 | dh_install 12 | dh_install 13 | dh_install 14 | dh_install 15 | dh_install 16 | dh_install 17 | dh_install 18 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=feather 4 | Version=1.0 5 | Comment=The only constant memory usage text editor. 6 | GenericName=feather 7 | Terminal=true 8 | Icon=/usr/share/pixmaps/feather.png 9 | Type=Application 10 | Exec=feather 11 | Category=Utility;TextEditors; 12 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather.substvars: -------------------------------------------------------------------------------- 1 | shlibs:Depends=libc6 (>= 2.17), libgcc-s1 (>= 4.2), libncurses6 (>= 6), libncursesw6 (>= 6), libstdc++6 (>= 9), libtinfo6 (>= 6) 2 | misc:Depends= 3 | misc:Pre-Depends= 4 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: feather 2 | Source: feather-1.0 3 | Version: 1-1 4 | Architecture: arm64 5 | Maintainer: MateuszWojtczak <0xbaca@gmail.com> 6 | Installed-Size: 2908 7 | Depends: libc6 (>= 2.17), libgcc-s1 (>= 4.2), libncurses6 (>= 6), libncursesw6 (>= 6), libstdc++6 (>= 9), libtinfo6 (>= 6) 8 | Section: free/editors 9 | Priority: optional 10 | Homepage: https://www.feathereditor.com 11 | Description: The only low memory text editor. 12 | The only terminal based text editor designed to work with BIG files. 13 | It doesn't matter if you will edit a 100MB or 100GB file. Feather will do. 14 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/bin/feather: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/bin/feather -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/applications/feather.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=feather 4 | Version=1.0 5 | Comment=The only constant memory usage text editor. 6 | GenericName=feather 7 | Terminal=true 8 | Icon=/usr/share/pixmaps/feather.png 9 | Type=Application 10 | Exec=feather 11 | Category=Utility;TextEditors; 12 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/doc/feather/changelog.Debian.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/doc/feather/changelog.Debian.gz -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/128x128/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/128x128/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/16x16/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/16x16/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/22x22/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/22x22/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/24x24/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/24x24/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/256x256/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/256x256/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/32x32/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/32x32/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/36x36/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/36x36/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/48x48/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/48x48/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/512x512/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/512x512/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/64x64/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/64x64/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/72x72/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/72x72/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/96x96/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/96x96/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/scalable/apps/feather.svg/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/icons/hicolor/scalable/apps/feather.svg/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/man/man1/feather.1.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/man/man1/feather.1.gz -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/feather/usr/share/pixmaps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/debian/feather/usr/share/pixmaps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/debian/files: -------------------------------------------------------------------------------- 1 | feather-1.0_1-1_arm64.buildinfo free/editors optional 2 | feather-dbgsym_1-1_arm64.ddeb free/debug optional automatic=yes 3 | feather_1-1_arm64.deb free/editors optional 4 | -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/128x128/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/128x128/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/16x16/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/16x16/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/22x22/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/22x22/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/24x24/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/24x24/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/256x256/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/256x256/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/32x32/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/32x32/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/36x36/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/36x36/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/48x48/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/48x48/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/512x512/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/512x512/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/64x64/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/64x64/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/72x72/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/72x72/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/96x96/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/96x96/apps/feather.png -------------------------------------------------------------------------------- /debian/feather-1.0-1/logo/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/debian/feather-1.0-1/logo/feather.png -------------------------------------------------------------------------------- /feather-1.0/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/.DS_Store -------------------------------------------------------------------------------- /feather-1.0/featherConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "cache": "1MB", 3 | "locale": "en_CA.UTF-8", 4 | "logSize": "1024", 5 | "mode": "text", 6 | "relax": "1MB", 7 | "storage": "/tmp", 8 | "tabWidth": 4 9 | } 10 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/AlignToMiddleOfScreenAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/AlignToMiddleOfScreenActionInput.hpp" 5 | #include "action/output/AlignToMiddleOfScreenActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class AlignToMiddleOfScreenAction : public Action 10 | { 11 | public: 12 | AlignToMiddleOfScreenAction(AlignToMiddleOfScreenActionInput &&); 13 | AlignToMiddleOfScreenActionOutput execute(); 14 | }; 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/CopyLineAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/CopyLineActionInput.hpp" 5 | #include "action/output/CopyLineActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class CopyLineAction : public Action 10 | { 11 | public: 12 | CopyLineAction(CopyLineActionInput &&); 13 | CopyLineActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/CutAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/CutActionInput.hpp" 5 | #include "action/output/CutActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class CutAction : public Action 10 | { 11 | public: 12 | CutAction(CutActionInput &&); 13 | CutActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/EditLineAboveAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/EditLineAboveActionInput.hpp" 5 | #include "action/output/EditLineAboveActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class EditLineAboveAction : public Action 10 | { 11 | public: 12 | EditLineAboveAction(EditLineAboveActionInput &&); 13 | EditLineAboveActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/EditLineBelowAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/EditLineBelowActionInput.hpp" 5 | #include "action/output/EditLineBelowActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class EditLineBelowAction : public Action 10 | { 11 | public: 12 | EditLineBelowAction(EditLineBelowActionInput &&); 13 | EditLineBelowActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/EditNextCharacterAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/EditNextCharacterActionInput.hpp" 5 | #include "action/output/EditNextCharacterActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class EditNextCharacterAction : public Action 10 | { 11 | public: 12 | EditNextCharacterAction(EditNextCharacterActionInput &&); 13 | EditNextCharacterActionOutput execute(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/GetStringsAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/GetStringsActionInput.hpp" 5 | #include "action/output/GetStringsActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class GetStringsAction : public Action 10 | { 11 | private: 12 | void updateResult(std::vector> &); 13 | 14 | public: 15 | GetStringsAction(GetStringsActionInput &&); 16 | GetStringsActionOutput execute(); 17 | }; 18 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/GotoLineAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/GotoLineActionInput.hpp" 5 | #include "action/output/GotoLineActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class GotoLineAction : public Action 10 | { 11 | public: 12 | GotoLineAction(GotoLineActionInput &&); 13 | void setCursor(pair); 14 | GotoLineActionOutput execute(); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/HighlightBetweenBracketsAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/HighlightBetweenBracketsActionInput.hpp" 5 | #include "action/output/HighlightBetweenBracketsActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class HighlightBetweenBracketsAction : public Action 10 | { 11 | private: 12 | std::pair> findOpeningBracket(char32_t, char32_t); 13 | 14 | public: 15 | HighlightBetweenBracketsAction(HighlightBetweenBracketsActionInput &&); 16 | HighlightBetweenBracketsActionOutput execute(); 17 | }; 18 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/JumpToBracketAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/JumpToBracketActionInput.hpp" 5 | #include "action/output/JumpToBracketActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class JumpToBracketAction : public Action 10 | { 11 | public: 12 | JumpToBracketAction(JumpToBracketActionInput &&); 13 | JumpToBracketActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToByteAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToByteActionInput.hpp" 5 | #include "action/output/MoveToByteActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToByteAction : public Action 10 | { 11 | public: 12 | MoveToByteAction(MoveToByteActionInput &&); 13 | void setCursor(pair); 14 | MoveToByteActionOutput execute(); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToFileBeginAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToFileBeginActionInput.hpp" 5 | #include "action/output/MoveToFileBeginActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToFileBeginAction : public Action 10 | { 11 | public: 12 | MoveToFileBeginAction(MoveToFileBeginActionInput &&); 13 | MoveToFileBeginActionOutput execute(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToFileEndAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToFileEndActionInput.hpp" 5 | #include "action/output/MoveToFileEndActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToFileEndAction : public Action 10 | { 11 | public: 12 | MoveToFileEndAction(MoveToFileEndActionInput &&); 13 | MoveToFileEndActionOutput execute(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToLineBeginAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToLineBeginActionInput.hpp" 5 | #include "action/output/MoveToLineBeginActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToLineBeginAction : public Action 10 | { 11 | public: 12 | MoveToLineBeginAction(MoveToLineBeginActionInput &&); 13 | MoveToLineBeginActionOutput execute(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToLineEndAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToLineEndActionInput.hpp" 5 | #include "action/output/MoveToLineEndActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToLineEndAction : public Action 10 | { 11 | public: 12 | MoveToLineEndAction(MoveToLineEndActionInput &&); 13 | MoveToLineEndActionOutput execute(); 14 | }; // namespace feather::action 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToLineEndWithEditAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToLineEndWithEditActionInput.hpp" 5 | #include "action/output/MoveToLineEndWithEditActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToLineEndWithEditAction : public Action 10 | { 11 | public: 12 | MoveToLineEndWithEditAction(MoveToLineEndWithEditActionInput &&); 13 | MoveToLineEndWithEditActionOutput execute(); 14 | }; // namespace feather::action 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToNextWordAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToNextWordActionInput.hpp" 5 | #include "action/output/MoveToNextWordActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToNextWordAction : public Action 10 | { 11 | public: 12 | MoveToNextWordAction(MoveToNextWordActionInput &&); 13 | MoveToNextWordActionOutput execute(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/MoveToPreviousWordAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/MoveToPreviousWordActionInput.hpp" 5 | #include "action/output/MoveToPreviousWordActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class MoveToPreviousWordAction : public Action 10 | { 11 | public: 12 | MoveToPreviousWordAction(MoveToPreviousWordActionInput &&); 13 | MoveToPreviousWordActionOutput execute(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/PasteAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/PasteActionInput.hpp" 5 | #include "action/output/PasteActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class PasteAction : public Action 10 | { 11 | public: 12 | PasteAction(PasteActionInput &&); 13 | PasteActionOutput execute(); 14 | pair getChunkToSkip(std::map const &, pair const &); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveAllAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveAllActionInput.hpp" 5 | #include "action/output/RemoveAllActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveAllAction : public Action 10 | { 11 | public: 12 | static void sigBusHandler(int); 13 | static void sigIntHandler(int); 14 | 15 | RemoveAllAction(RemoveAllActionInput &&); 16 | RemoveAllActionOutput execute(); 17 | pair getShiftedPos(pair, size_t); 18 | void unblockSignals(); 19 | }; 20 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveBetweenBracketsAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveBetweenBracketsActionInput.hpp" 5 | #include "action/output/RemoveBetweenBracketsActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveBetweenBracketsAction : public Action 10 | { 11 | private: 12 | std::pair> findOpeningBracket(char32_t, char32_t); 13 | 14 | public: 15 | RemoveBetweenBracketsAction(RemoveBetweenBracketsActionInput &&); 16 | RemoveBetweenBracketsActionOutput execute(); 17 | }; 18 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveBetweenWhiteCharactersAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveBetweenWhiteCharactersActionInput.hpp" 5 | #include "action/output/RemoveBetweenWhiteCharactersActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveBetweenWhiteCharactersAction : public Action 10 | { 11 | public: 12 | RemoveBetweenWhiteCharactersAction(RemoveBetweenWhiteCharactersActionInput &&); 13 | RemoveBetweenWhiteCharactersActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveCharacterUnderCursorAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveCharacterUnderCursorActionInput.hpp" 5 | #include "action/output/RemoveCharacterUnderCursorActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveCharacterUnderCursorAction : public Action 10 | { 11 | public: 12 | RemoveCharacterUnderCursorAction(RemoveCharacterUnderCursorActionInput &&); 13 | RemoveCharacterUnderCursorActionOutput execute(); 14 | }; 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveLineAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveLineActionInput.hpp" 5 | #include "action/output/RemoveLineActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveLineAction : public Action 10 | { 11 | public: 12 | RemoveLineAction(RemoveLineActionInput &&); 13 | RemoveLineActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveUntilFileBeginAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveUntilFileBeginActionInput.hpp" 5 | #include "action/output/RemoveUntilFileBeginActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveUntilFileBeginAction : public Action 10 | { 11 | public: 12 | RemoveUntilFileBeginAction(RemoveUntilFileBeginActionInput &&); 13 | RemoveUntilFileBeginActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveUntilFileEndAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveUntilFileEndActionInput.hpp" 5 | #include "action/output/RemoveUntilFileEndActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveUntilFileEndAction : public Action 10 | { 11 | public: 12 | RemoveUntilFileEndAction(RemoveUntilFileEndActionInput &&); 13 | RemoveUntilFileEndActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveUntilLineEndAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveUntilLineEndActionInput.hpp" 5 | #include "action/output/RemoveUntilLineEndActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveUntilLineEndAction : public Action 10 | { 11 | public: 12 | RemoveUntilLineEndAction(RemoveUntilLineEndActionInput &&); 13 | RemoveUntilLineEndActionOutput execute(); 14 | }; 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveWordBackwardAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveWordBackwardActionInput.hpp" 5 | #include "action/output/RemoveWordBackwardActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveWordBackwardAction : public Action 10 | { 11 | public: 12 | RemoveWordBackwardAction(RemoveWordBackwardActionInput &&); 13 | RemoveWordBackwardActionOutput execute(); 14 | }; 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/RemoveWordForwardAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/RemoveWordForwardActionInput.hpp" 5 | #include "action/output/RemoveWordForwardActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class RemoveWordForwardAction : public Action 10 | { 11 | public: 12 | RemoveWordForwardAction(RemoveWordForwardActionInput &&); 13 | RemoveWordForwardActionOutput execute(); 14 | }; 15 | 16 | } // namespace feather::action 17 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/ReplaceAllAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/ReplaceAllActionInput.hpp" 5 | #include "action/output/ReplaceAllActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class ReplaceAllAction : public Action 10 | { 11 | public: 12 | ReplaceAllAction(ReplaceAllActionInput &&); 13 | ReplaceAllActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/SaveChangesAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/SaveChangesActionInput.hpp" 5 | #include "action/output/SaveChangesActionOutput.hpp" 6 | #include "utils/FilesystemInterface.hpp" 7 | 8 | namespace feather::action 9 | { 10 | class SaveChangesAction : public Action 11 | { 12 | private: 13 | void cleanUp(utils::datatypes::Uuid const &); 14 | 15 | public: 16 | SaveChangesAction(SaveChangesActionInput &&); 17 | SaveChangesActionOutput execute(std::shared_ptr); 18 | }; 19 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/SearchSubstringAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/SearchSubstringActionInput.hpp" 5 | #include "action/output/SearchSubstringActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class SearchSubstringAction : public Action 10 | { 11 | public: 12 | SearchSubstringAction(SearchSubstringActionInput &); 13 | }; 14 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/ShiftRightAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/ShiftRightActionInput.hpp" 5 | #include "action/output/ShiftRightActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class ShiftRightAction : public Action 10 | { 11 | public: 12 | ShiftRightAction(ShiftRightActionInput &&); 13 | void setCursor(pair); 14 | ShiftRightActionOutput execute(); 15 | }; 16 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/SkipEmptyCharactersAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/SkipEmptyCharactersActionInput.hpp" 5 | #include "action/output/SkipEmptyCharactersActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class SkipEmptyCharactersAction : public Action 10 | { 11 | public: 12 | SkipEmptyCharactersAction(SkipEmptyCharactersActionInput &&); 13 | SkipEmptyCharactersActionOutput execute(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/SwitchModeAction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "action/Action.hpp" 4 | #include "action/input/SwitchModeActionInput.hpp" 5 | #include "action/output/SwitchModeActionOutput.hpp" 6 | 7 | namespace feather::action 8 | { 9 | class SwitchModeAction : public Action 10 | { 11 | public: 12 | SwitchModeAction(SwitchModeActionInput &&); 13 | void setCursor(pair); 14 | SwitchModeActionOutput execute(); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/CopyLineActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/WindowsManager.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct CopyLineActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | pair cursorPos; 11 | std::shared_ptr storage; 12 | std::shared_ptr printingOrchestrator; 13 | std::shared_ptr windowsManager; 14 | CopyLineActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/CutActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/WindowsManager.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct CutActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | pair cursorPos; 11 | std::shared_ptr storage; 12 | std::shared_ptr printingOrchestrator; 13 | std::shared_ptr windowsManager; 14 | CutActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/EditNextCharacterActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct EditNextCharacterActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | pair cursorPos; 11 | std::shared_ptr storage; 12 | std::shared_ptr printingOrchestrator; 13 | EditNextCharacterActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/GetStringsActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | #include "windows/WindowsManager.hpp" 5 | 6 | namespace feather::reader 7 | { 8 | class KeyStroke; 9 | }; 10 | 11 | namespace feather::action 12 | { 13 | struct GetStringsActionInput 14 | { 15 | windows::MainWindowInterface* window; 16 | GetStringsActionInput(windows::MainWindowInterface *); 17 | }; 18 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/JumpToBracketActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct JumpToBracketActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | pair cursorPos; 11 | std::shared_ptr storage; 12 | std::shared_ptr printingOrchestrator; 13 | std::shared_ptr windowsManager; 14 | char32_t searchedBracket; 15 | JumpToBracketActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr, char32_t); 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToByteActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToByteActionInput 8 | { 9 | size_t byteMoveTo; 10 | std::shared_ptr printingOrchestrator; 11 | utils::datatypes::Uuid const &windowUUID; 12 | std::shared_ptr storage; 13 | MoveToByteActionInput(size_t, utils::datatypes::Uuid const &, std::shared_ptr, std::shared_ptr); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToFileBeginActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/MainWindowInterface.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToFileBeginActionInput 8 | { 9 | std::shared_ptr printingOrchestrator; 10 | std::shared_ptr window; 11 | MoveToFileBeginActionInput(std::shared_ptr, std::shared_ptr); 12 | }; 13 | } // namespace feather::action 14 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToFileEndActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/MainWindowInterface.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToFileEndActionInput 8 | { 9 | std::shared_ptr printingOrchestrator; 10 | std::shared_ptr window; 11 | MoveToFileEndActionInput(std::shared_ptr, std::shared_ptr); 12 | }; 13 | } // namespace feather::action 14 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToLineBeginActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | #include "windows/WindowsManager.hpp" 5 | 6 | namespace feather::action 7 | { 8 | struct MoveToLineBeginActionInput 9 | { 10 | utils::datatypes::Uuid const &windowUUID; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | std::shared_ptr windowsManager; 15 | MoveToLineBeginActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr); 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToLineEndActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | #include "windows/WindowsManager.hpp" 5 | 6 | namespace feather::action 7 | { 8 | struct MoveToLineEndActionInput 9 | { 10 | utils::datatypes::Uuid const &windowUUID; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | std::shared_ptr windowsManager; 15 | MoveToLineEndActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr); 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToLineEndWithEditActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | #include "windows/WindowsManager.hpp" 5 | 6 | namespace feather::action 7 | { 8 | struct MoveToLineEndWithEditActionInput 9 | { 10 | utils::datatypes::Uuid const &windowUUID; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | std::shared_ptr windowsManager; 15 | MoveToLineEndWithEditActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr); 16 | }; 17 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToNextWordActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | #include "windows/WindowsManager.hpp" 5 | 6 | namespace feather::action 7 | { 8 | struct MoveToNextWordActionInput 9 | { 10 | utils::datatypes::Uuid const &windowUUID; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | std::shared_ptr windowsManager; 15 | MoveToNextWordActionInput(utils::datatypes::Uuid const &, pair, std::shared_ptr, std::shared_ptr, std::shared_ptr); 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/MoveToPreviousWordActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/WindowsManager.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToPreviousWordActionInput 8 | { 9 | std::shared_ptr printingOrchestrator; 10 | std::shared_ptr window; 11 | std::shared_ptr windowsManager; 12 | MoveToPreviousWordActionInput(std::shared_ptr, std::shared_ptr, std::shared_ptr); 13 | }; 14 | } // namespace feather::action 15 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveBetweenBracketsActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveBetweenBracketsActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | char32_t openingBracket; 13 | std::shared_ptr storage; 14 | std::shared_ptr printingOrchestrator; 15 | RemoveBetweenBracketsActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, char32_t, std::shared_ptr, std::shared_ptr); 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveBetweenWhiteCharactersActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveBetweenWhiteCharactersActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | RemoveBetweenWhiteCharactersActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveLineActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveLineActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | size_t noLines; 13 | std::shared_ptr storage; 14 | std::shared_ptr printingOrchestrator; 15 | RemoveLineActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, size_t, std::shared_ptr, std::shared_ptr); 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveUntilFileBeginActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveUntilFileBeginActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | RemoveUntilFileBeginActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveUntilFileEndActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveUntilFileEndActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | RemoveUntilFileEndActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveUntilLineEndActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveUntilLineEndActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | RemoveUntilLineEndActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveWordBackwardActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveWordBackwardActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | pair cursorPos; 11 | std::shared_ptr storage; 12 | std::shared_ptr printingOrchestrator; 13 | std::shared_ptr windowsManager; 14 | RemoveWordBackwardActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/RemoveWordForwardActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveWordForwardActionInput 8 | { 9 | utils::datatypes::Uuid const &windowUUID; 10 | std::shared_ptr windowsManager; 11 | pair cursorPos; 12 | std::shared_ptr storage; 13 | std::shared_ptr printingOrchestrator; 14 | RemoveWordForwardActionInput(utils::datatypes::Uuid const &, std::shared_ptr, pair, std::shared_ptr, std::shared_ptr); 15 | }; 16 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/SkipEmptyCharactersActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/WindowsManager.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct SkipEmptyCharactersActionInput 8 | { 9 | std::shared_ptr printingOrchestrator; 10 | std::shared_ptr window; 11 | std::shared_ptr windowsManager; 12 | SkipEmptyCharactersActionInput(std::shared_ptr, std::shared_ptr, std::shared_ptr); 13 | }; 14 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/input/SwitchModeActionInput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct SwitchModeActionInput 8 | { 9 | pair cursorPosition; 10 | std::shared_ptr printingOrchestrator; 11 | utils::datatypes::Uuid const &windowUUID; 12 | std::shared_ptr storage; 13 | SwitchModeActionInput(pair, utils::datatypes::Uuid const &, std::shared_ptr, std::shared_ptr); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/AlignToMiddleOfScreenActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | #include 7 | 8 | namespace feather::action 9 | { 10 | struct AlignToMiddleOfScreenActionOutput 11 | { 12 | pair newCursorPosition; 13 | pair getResult(); 14 | }; 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/CopyLineActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct CopyLineActionOutput 10 | { 11 | std::optional> newCursorPosition; 12 | std::optional> getResult(); 13 | }; 14 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/CutActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct CutActionOutput 10 | { 11 | std::optional> newCursorPosition; 12 | std::optional> getResult(); 13 | }; 14 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/EditLineAboveActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct EditLineAboveActionOutput 10 | { 11 | std::pair positionToSkip; 12 | pair result; 13 | pair getResult(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/EditLineBelowActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct EditLineBelowActionOutput 10 | { 11 | std::pair positionToSkip; 12 | pair result; 13 | pair getResult(); 14 | }; 15 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/EditNextCharacterActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct EditNextCharacterActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/GetStringsActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct GetStringsActionOutput 10 | { 11 | std::vector> result; 12 | }; 13 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/GotoLineActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct GotoLineActionOutput 10 | { 11 | std::optional result; 12 | }; 13 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/HighlightBetweenBracketsActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct HighlightBetweenBracketsActionOutput 10 | { 11 | std::optional> cursorPos; 12 | }; 13 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/JumpToBracketActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct JumpToBracketActionOutput 10 | { 11 | std::optional newCursorPosition; 12 | }; 13 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToByteActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToByteActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToFileBeginActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToFileBeginActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToFileEndActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToFileEndActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToLineBeginActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToLineBeginActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToLineEndActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToLineEndActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToLineEndWithEditActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToLineEndWithEditActionOutput 8 | { 9 | pair cursorRealPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToNextWordActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToNextWordActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/MoveToPreviousWordActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct MoveToPreviousWordActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/PasteActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/DeletionsSnapshot.hpp" 4 | #include "utils/datatypes/Global.hpp" 5 | #include "utils/datatypes/Uuid.hpp" 6 | #include "utils/datatypes/UuidHash.hpp" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace feather::action 13 | { 14 | struct PasteActionOutput 15 | { 16 | pair result; 17 | utils::datatypes::DeletionsSnapshot deletionsSnapshot; 18 | std::set addedBreakPointsUpdated; 19 | std::optional, std::map>> positionsToSkipUpdated; 20 | }; 21 | } // namespace feather::action 22 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveAllActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct RemoveAllActionOutput 10 | { 11 | std::map deleted; 12 | }; 13 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveBetweenBracketsActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct RemoveBetweenBracketsActionOutput 10 | { 11 | std::optional newCursorPosition; 12 | }; 13 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveBetweenWhiteCharactersActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveBetweenWhiteCharactersActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveCharacterUnderCursorActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveCharacterUnderCursorActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveLineActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveLineActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveUntilFileBeginActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveUntilFileBeginActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveUntilFileEndActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveUntilFileEndActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveUntilLineEndActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveUntilLineEndActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveWordBackwardActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveWordBackwardActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/RemoveWordForwardActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct RemoveWordForwardActionOutput 8 | { 9 | pair newCursorPosition; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/ReplaceAllActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct ReplaceAllActionOutput 10 | { 11 | pair newCursorPos; 12 | }; 13 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/SaveChangesActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Error.hpp" 4 | 5 | #include 6 | #include 7 | 8 | namespace feather::action 9 | { 10 | struct SaveChangesActionOutput 11 | { 12 | utils::datatypes::ERROR result; 13 | std::optional junkFile; 14 | SaveChangesActionOutput(utils::datatypes::ERROR, std::optional); 15 | utils::datatypes::ERROR getResult() const; 16 | }; 17 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/SearchSubstringActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestrator.hpp" 4 | #include "utils/datatypes/Error.hpp" 5 | 6 | namespace feather::action 7 | { 8 | struct SearchSubstringActionOutput 9 | { 10 | std::pair>, utils::datatypes::ERROR> result; 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/ShiftRightActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::action 8 | { 9 | struct ShiftRightActionOutput 10 | { 11 | pair result; 12 | }; 13 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/SkipEmptyCharactersActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct SkipEmptyCharactersActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/action/output/SwitchModeActionOutput.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::action 6 | { 7 | struct SwitchModeActionOutput 8 | { 9 | pair result; 10 | pair getResult(); 11 | }; 12 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/hdr/config/ReadMode.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::config 4 | { 5 | enum READ_MODE 6 | { 7 | HEX, 8 | TEXT 9 | }; 10 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/printer/ActionVisitor.hpp: -------------------------------------------------------------------------------- 1 | #ifndef ACTION_VISITOR 2 | #define ACTION_VISITOR 3 | 4 | #include "printer/ActionVisitorInterface.hpp" 5 | 6 | namespace feather::printer 7 | { 8 | class ActionVisitor : public ActionVisitorInterface 9 | { 10 | public: 11 | }; 12 | } // namespace feather::printer 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /feather-1.0/hdr/printer/ActionVisitorInterface.hpp: -------------------------------------------------------------------------------- 1 | #ifndef ACTION_VISITOR_INTERFACE 2 | #define ACTION_VISITOR_INTERFACE 3 | 4 | namespace feather::windows::action 5 | { 6 | } // namespace feather::windows 7 | 8 | namespace feather::printer 9 | { 10 | class ActionVisitorInterface 11 | { 12 | public: 13 | virtual void visit(windows::action::SearchSubstringAction*) = 0; 14 | }; 15 | } // namespace feather::printer 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /feather-1.0/hdr/printer/WindowStatus.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | #include "windows/SubWindowInterface.hpp" 5 | 6 | #include 7 | 8 | namespace feather::printer 9 | { 10 | class WindowStatus 11 | { 12 | public: 13 | static char32_t INFINITY_CHARACTER; 14 | std::u32string getCharAbsolutePosition(feather::windows::SubWindowInterface *, std::shared_ptr, std::optional>); 15 | std::u32string getPrintedProgress(feather::windows::SubWindowInterface *, std::shared_ptr, std::optional>); 16 | 17 | private: 18 | std::u32string sizeToString(size_t); 19 | }; 20 | } // namespace feather::printer -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/Direction.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::utils 4 | { 5 | enum class Direction 6 | { 7 | UP, 8 | RIGHT, 9 | DOWN, 10 | LEFT, 11 | ALIGN_TO_READ_MODE 12 | }; 13 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/FilledChunk.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::utils 4 | { 5 | enum class FilledChunk 6 | { 7 | CURR_FRAME, 8 | FRAME_UP, 9 | FRAME_DOWN, 10 | HALF_FRAME_UP, 11 | HALF_FRAME_DOWN, 12 | LINE_UP, 13 | LINE_DOWN 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/algorithm/SearchBufferEntry.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace feather::utils::algorithm 6 | { 7 | class SearchBufferEntry 8 | { 9 | private: 10 | std::vector buffer; 11 | size_t currEntryForwardIdx, currEntryBackwardIdx; 12 | 13 | public: 14 | SearchBufferEntry(SearchBufferEntry &&); 15 | SearchBufferEntry(std::vector &&); 16 | size_t getSize() const; 17 | bool isWholeEntryScannedForward() const; 18 | bool isWholeEntryScannedBackward() const; 19 | char32_t getNextEntry(); 20 | char32_t getPreviousEntry(); 21 | char32_t operator[](size_t); 22 | ~SearchBufferEntry(); 23 | }; 24 | } // namespace feather::utils::algorithm 25 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/algorithm/SearchEngine.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Error.hpp" 4 | #include "utils/storage/AbstractStorage.hpp" 5 | #include "windows/WindowsManager.hpp" 6 | 7 | #include 8 | #include 9 | 10 | namespace feather::utils::algorithm 11 | { 12 | class SearchEngine 13 | { 14 | public: 15 | virtual std::pair>, utils::datatypes::ERROR> getNextMatch(std::shared_ptr, std::unique_ptr &, std::unique_ptr &, std::unique_ptr &, utils::FEATHER_MODE &, utils::Direction) = 0; 16 | virtual ~SearchEngine() = 0; 17 | }; 18 | } // namespace feather::utils::algorithm -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/ChangeType.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::utils::datatypes 4 | { 5 | enum class ChangeType 6 | { 7 | COPY, 8 | CUT, 9 | HIGHLIGHT, 10 | INSERT, 11 | DELETE, 12 | OTHER, 13 | UNKNOWN 14 | }; 15 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/ChangesArchive.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::utils::datatypes 6 | { 7 | struct ChangesArchive 8 | { 9 | std::string watermark; 10 | size_t position; 11 | std::vector const &changes; 12 | 13 | template 14 | void save(Archive &ar) const 15 | { 16 | ar(watermark, position, changes); 17 | } 18 | 19 | template 20 | void load(Archive &ar) 21 | { 22 | ar(watermark, position, changes); 23 | } 24 | }; 25 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/DeletionsArchive.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | namespace feather::utils::datatypes 6 | { 7 | struct DeletionsArchive 8 | { 9 | std::string watermark; 10 | std::map const &deletions; 11 | 12 | template 13 | void save(Archive &ar) const 14 | { 15 | ar(watermark, deletions); 16 | } 17 | 18 | template 19 | void load(Archive &ar) 20 | { 21 | ar(watermark, deletions); 22 | } 23 | }; 24 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/DeletionsSnapshot.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::utils::datatypes 8 | { 9 | struct DeletionsSnapshot 10 | { 11 | size_t totalBytesOfDeletions; 12 | std::map deletions; 13 | std::map reverseDeletions; 14 | void shift(pair, size_t); 15 | }; 16 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/DeserializedChangesArchive.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include "cereal/types/vector.hpp" 6 | 7 | namespace feather::utils::datatypes 8 | { 9 | struct DeserializedChangesArchive 10 | { 11 | std::string watermark; 12 | size_t position; 13 | std::vector changes; 14 | 15 | template 16 | void save(Archive &ar) const 17 | { 18 | ar(watermark, position, changes); 19 | } 20 | 21 | template 22 | void load(Archive &ar) 23 | { 24 | ar(watermark, position, changes); 25 | } 26 | }; 27 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/DeserializedDeletionsArchive.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include "cereal/types/map.hpp" 6 | 7 | namespace feather::utils::datatypes 8 | { 9 | struct DeserializedDeletionsArchive 10 | { 11 | std::string watermark; 12 | std::map deletions; 13 | 14 | template 15 | void save(Archive &ar) const 16 | { 17 | ar(watermark, deletions); 18 | } 19 | 20 | template 21 | void load(Archive &ar) 22 | { 23 | ar(watermark, deletions); 24 | } 25 | }; 26 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/Error.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::utils::datatypes 4 | { 5 | enum class ERROR 6 | { 7 | NONE, 8 | FILE_NO_LONGER_AVAILABLE, 9 | INTERRUPTED, 10 | ESC_INTERRUPTED, 11 | UNABLE_TO_OPEN_FILE 12 | }; 13 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/FileErrors.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::utils::datatypes 4 | { 5 | enum class FileErrors 6 | { 7 | FILE_DELETED, 8 | NO_FOLDER_WRITE_PERMISSION, 9 | NONE 10 | }; 11 | } // namespace feather::utils::datatypes 12 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/Hash.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace feather::utils::datatypes 6 | { 7 | struct PairHash 8 | { 9 | std::size_t operator()(std::pair pair) const 10 | { 11 | return std::hash()(pair.first) ^ std::hash()(pair.second); 12 | } 13 | }; 14 | } // namespace feather::utils::datatypes -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/datatypes/UuidHash.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Uuid.hpp" 4 | 5 | #include 6 | 7 | namespace feather::utils::datatypes 8 | { 9 | struct UuidHasher 10 | { 11 | std::size_t operator()(const Uuid &uuid) const 12 | { 13 | std::hash stringHasher; 14 | return stringHasher(uuid.getString()); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherCacheFullException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherCacheFullException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherCacheFullException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception 18 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherCacheMissException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherCacheMissException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherCacheMissException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception 18 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherFileConcurrentlyModifiedException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherFileConcurrentlyModifiedException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherFileConcurrentlyModifiedException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherFileNotExistException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | #include 6 | 7 | namespace feather::utils::exception 8 | { 9 | class FeatherFileNotExistException : public FeatherBaseException 10 | { 11 | public: 12 | template 13 | FeatherFileNotExistException(std::fstream const &stream, T first, Args... arg) 14 | : FeatherBaseException(std::make_error_code(std::io_errc::stream)) 15 | { 16 | d_messageBuffer << first << " "; 17 | populate_args(arg...); 18 | } 19 | }; 20 | } // namespace feather::utils::exception -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherInterruptedException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherInterruptedException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherInterruptedException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherInvalidArgumnetException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherInvalidArgumentException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherInvalidArgumentException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherLogicalException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherLogicalException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherLogicalException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::feather 18 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherMemoryException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherMemoryException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherMemoryException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherPermissionsException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | #include 6 | 7 | namespace feather::utils::exception 8 | { 9 | class FeatherPermissionsException : public FeatherBaseException 10 | { 11 | public: 12 | template 13 | FeatherPermissionsException(std::fstream const &stream, T first, Args... arg) 14 | : FeatherBaseException(std::make_error_code(std::io_errc::stream)) 15 | { 16 | d_messageBuffer << first << " "; 17 | populate_args(arg...); 18 | } 19 | }; 20 | } // namespace feather::utils::exception 21 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherRuntimeException.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/exception/FeatherBaseException.hpp" 4 | 5 | namespace feather::utils::exception 6 | { 7 | class FeatherRuntimeException : public FeatherBaseException 8 | { 9 | public: 10 | template 11 | FeatherRuntimeException(T first, Args... arg) 12 | { 13 | d_messageBuffer << first << " "; 14 | populate_args(arg...); 15 | } 16 | }; 17 | } // namespace feather::utils::exception 18 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/exception/FeatherTimeoutException.hpp: -------------------------------------------------------------------------------- 1 | #ifndef EXCEPTION_TIMEOUT_INCLUDED 2 | #define EXCEPTION_TIMEOUT_INCLUDED 3 | 4 | #include "utils/exception/FeatherBaseException.hpp" 5 | 6 | namespace feather::utils::exception 7 | { 8 | class FeatherTimeoutException : public FeatherBaseException 9 | { 10 | public: 11 | template 12 | FeatherTimeoutException(D duration, T first, Args... arg) 13 | { 14 | d_messageBuffer << "Timeout waiting, after : " << duration.count() << first << " "; 15 | populate_args(arg...); 16 | } 17 | }; 18 | } // namespace feather::utils::exception 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/helpers/KeyReader.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/helpers/RawCharactersBuffer.hpp" 4 | #include "windows/WindowImplInterface.hpp" 5 | 6 | namespace feather::utils::helpers 7 | { 8 | class KeyReader 9 | { 10 | private: 11 | utils::helpers::RawCharactersBuffer internalInputBuffer; 12 | char32_t getNextCharacterFromInputBufferActionReadMode(feather::windows::WindowImplInterface const *); 13 | char32_t getNextCharacterFromInputBufferWriteMode(feather::windows::WindowImplInterface const *); 14 | 15 | public: 16 | static const int ERROR_TOLERANCE = 64; 17 | char32_t getNextCharacterFromInputBuffer(feather::windows::WindowImplInterface const *); 18 | }; 19 | } // namespace feather::utils::helpers -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/helpers/RawCharactersBuffer.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace feather::utils::helpers 6 | { 7 | class RawCharactersBuffer 8 | { 9 | private: 10 | std::vector buffer; 11 | size_t bufferSize; 12 | size_t noUtf8Characters; 13 | 14 | public: 15 | RawCharactersBuffer(size_t = 4UL); 16 | bool add(char32_t); 17 | bool add(char); 18 | void clear(); 19 | std::vector const &getBuffer() const; 20 | size_t getBufferSize() const; 21 | size_t getNoUtf8Characters() const; 22 | }; 23 | } // namespace feather::utils::helpers 24 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/helpers/Signal.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace feather::utils::helpers 6 | { 7 | extern "C" void lambdaSigBusHandler(int); 8 | extern "C" void lambdaSigIntHandler(int); 9 | 10 | void blockSignals(bool = true); 11 | void unblockSignals(); 12 | } 13 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/logger/LogSeverity.hpp: -------------------------------------------------------------------------------- 1 | #ifndef LOG_SEVERITY_INCLUDED 2 | #define LOG_SEVERITY_INCLUDED 3 | 4 | namespace feather::utils::logger 5 | { 6 | enum LogSeverity 7 | { 8 | DEBUG = 0, 9 | INFO, 10 | WARNING, 11 | ERROR 12 | }; 13 | } 14 | #endif 15 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/logger/policy/MemoryLogPolicy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/logger/Logger.hpp" 4 | 5 | #include 6 | 7 | namespace feather::utils::logger::policy 8 | { 9 | class MemoryLogPolicy : public Logger 10 | { 11 | std::stringstream output; 12 | 13 | public: 14 | void setMaxLogFileSize(unsigned long maxLogFileSizeArg) 15 | { 16 | //Ignore 17 | } 18 | 19 | void write(const std::string &content) 20 | { 21 | output << " " << content << std::endl; 22 | loggingMutex.unlock(); 23 | } 24 | 25 | ~MemoryLogPolicy() 26 | { 27 | //print_impl(END_OF_LOGGING); 28 | } 29 | }; 30 | } // namespace feather::utils::logger::policy 31 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/logger/policy/OutputDeviceLogPolicy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace feather::utils::logger::policy 4 | { 5 | class OutputDeviceLogPolicy : public Logger 6 | { 7 | public: 8 | void setMaxLogFileSize(unsigned long maxLogFileSizeArg) 9 | { 10 | //Ignore 11 | } 12 | 13 | void write(const std::string &content) 14 | { 15 | std::cout << " " << content << std::endl; 16 | loggingMutex.unlock(); 17 | } 18 | 19 | ~OutputDeviceLogPolicy() 20 | { 21 | //print_impl(END_OF_LOGGING); 22 | } 23 | }; 24 | } // namespace feather::utils::logger::policy 25 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/windows/FramePositions.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/datatypes/Global.hpp" 4 | 5 | #include 6 | 7 | namespace feather::utils::windows 8 | { 9 | struct FramePositions 10 | { 11 | pair startFramePosition; 12 | pair endFramePosition; 13 | FramePositions(); 14 | FramePositions(pair, pair); 15 | FramePositions(const FramePositions &other); 16 | bool isInsideFrame(pair) const; 17 | void incrementRealPosition(size_t noBytes = 1); 18 | void setStartPosition(pair); 19 | }; 20 | } // namespace feather::utils::windows -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/windows/LinesAroundPositionInformation.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils/windows/WindowInformationInterface.hpp" 4 | 5 | namespace feather::utils::windows 6 | { 7 | struct LinesAroundPositionInformation : public WindowInformationInterface 8 | { 9 | std::tuple, std::pair, std::pair> linesLength; 10 | LinesAroundPositionInformation(std::tuple, std::pair, std::pair> &&); 11 | std::tuple, std::pair, std::pair> getInformation() override; 12 | }; 13 | } // namespace feather::utils::windows 14 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/windows/WindowInformationInterface.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace feather::utils::windows 6 | { 7 | struct WindowInformationInterface 8 | { 9 | virtual std::tuple, std::pair, std::pair> getInformation() = 0; 10 | virtual ~WindowInformationInterface() 11 | { 12 | } 13 | }; 14 | } // namespace feather::utils::windows 15 | -------------------------------------------------------------------------------- /feather-1.0/hdr/utils/windows/WindowStateContainer.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "printer/PrintingOrchestratorInterface.hpp" 4 | 5 | namespace feather::utils::windows 6 | { 7 | struct WindowStateContainer 8 | { 9 | std::optional windowUUID; 10 | std::optional siblingUUID; 11 | bool isSecondaryHexModeWindow; 12 | std::pair secondaryWindowCursor; 13 | pair cursorRealPosition; 14 | }; 15 | } -------------------------------------------------------------------------------- /feather-1.0/hdr/windows/WindowsAbstarctFactoryDummy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "windows/WindowsAbstractFactory.hpp" 4 | 5 | struct WinsowsAbstractFactoryDummy : public WinsowsAbstractFactory { 6 | WindowsAbstractFactoryDummy(): WindowsAbstractFactory() { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /feather-1.0/hdr/windows/WindowsManagerDummy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "WindowsAbstractFactory.hpp" 4 | 5 | namespace feather::windows 6 | { 7 | struct WindowsManagerDummy : public WindowsManager 8 | { 9 | explicit WindowsManagerDummy(WindowsAbstractFactory *window, std::shared_ptr log) 10 | : WindowsManager(window, log) {} 11 | explicit WindowsManagerDummy(WindowsAbstractFactory *window, std::shared_ptr log) 12 | : WindowsManager(window, log) {} 13 | explicit WindowsManagerDummy(WindowsAbstractFactory *window, std::shared_ptr log) 14 | : WindowsManager(window, log) {} 15 | }; 16 | } // namespace feather::windows 17 | -------------------------------------------------------------------------------- /feather-1.0/lib/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/.DS_Store -------------------------------------------------------------------------------- /feather-1.0/lib/cereal/external/rapidjson/LICENSE: -------------------------------------------------------------------------------- 1 | Tencent is pleased to support the open source community by making RapidJSON available. 2 | 3 | Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. 4 | 5 | Licensed under the MIT License (the "License"); you may not use this file except 6 | in compliance with the License. You may obtain a copy of the License at 7 | 8 | http://opensource.org/licenses/MIT 9 | 10 | Unless required by applicable law or agreed to in writing, software distributed 11 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 12 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 13 | specific language governing permissions and limitations under the License. 14 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/arithmetic.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP 15 | # define BOOST_PREPROCESSOR_ARITHMETIC_HPP 16 | # 17 | # include "arithmetic/add.hpp" 18 | # include "arithmetic/dec.hpp" 19 | # include "arithmetic/div.hpp" 20 | # include "arithmetic/inc.hpp" 21 | # include "arithmetic/mod.hpp" 22 | # include "arithmetic/mul.hpp" 23 | # include "arithmetic/sub.hpp" 24 | # 25 | # endif 26 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/assert_msg.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP 13 | # define BOOST_PREPROCESSOR_ASSERT_MSG_HPP 14 | # 15 | # include "debug/assert.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/comma.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_COMMA_HPP 13 | # define BOOST_PREPROCESSOR_COMMA_HPP 14 | # 15 | # include "punctuation/comma.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/comma_if.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP 13 | # define BOOST_PREPROCESSOR_COMMA_IF_HPP 14 | # 15 | # include "punctuation/comma_if.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/comparison.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_COMPARISON_HPP 15 | # define BOOST_PREPROCESSOR_COMPARISON_HPP 16 | # 17 | # include "comparison/equal.hpp" 18 | # include "comparison/greater.hpp" 19 | # include "comparison/greater_equal.hpp" 20 | # include "comparison/less.hpp" 21 | # include "comparison/less_equal.hpp" 22 | # include "comparison/not_equal.hpp" 23 | # 24 | # endif 25 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/debug.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_DEBUG_HPP 13 | # define BOOST_PREPROCESSOR_DEBUG_HPP 14 | # 15 | # include "debug/assert.hpp" 16 | # include "debug/line.hpp" 17 | # 18 | # endif 19 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/dec.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_DEC_HPP 13 | # define BOOST_PREPROCESSOR_DEC_HPP 14 | # 15 | # include "arithmetic/dec.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/detail/null.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_DETAIL_NULL_HPP 13 | # define BOOST_PREPROCESSOR_DETAIL_NULL_HPP 14 | # 15 | # /* empty file */ 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/empty.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_EMPTY_HPP 13 | # define BOOST_PREPROCESSOR_EMPTY_HPP 14 | # 15 | # include "facilities/empty.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/enum.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_HPP 14 | # 15 | # include "repetition/enum.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/enum_params.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP 14 | # 15 | # include "repetition/enum_params.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/enum_shifted.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP 13 | # define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP 14 | # 15 | # include "repetition/enum_shifted.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/expand.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_EXPAND_HPP 13 | # define BOOST_PREPROCESSOR_EXPAND_HPP 14 | # 15 | # include "facilities/expand.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/expr_if.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP 13 | # define BOOST_PREPROCESSOR_EXPR_IF_HPP 14 | # 15 | # include "control/expr_if.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/facilities/empty.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP 15 | # define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP 16 | # 17 | # include "boost_config/config.hpp" 18 | # 19 | # /* BOOST_PP_EMPTY */ 20 | # 21 | # define BOOST_PP_EMPTY() 22 | # 23 | # endif 24 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/for.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_FOR_HPP 13 | # define BOOST_PREPROCESSOR_FOR_HPP 14 | # 15 | # include "repetition/for.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/identity.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_IDENTITY_HPP 13 | # define BOOST_PREPROCESSOR_IDENTITY_HPP 14 | # 15 | # include "facilities/identity.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/if.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_IF_HPP 13 | # define BOOST_PREPROCESSOR_IF_HPP 14 | # 15 | # include "control/if.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/inc.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_INC_HPP 13 | # define BOOST_PREPROCESSOR_INC_HPP 14 | # 15 | # include "arithmetic/inc.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/iterate.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_ITERATE_HPP 13 | # define BOOST_PREPROCESSOR_ITERATE_HPP 14 | # 15 | # include "iteration/iterate.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/limits.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_LIMITS_HPP 13 | # define BOOST_PREPROCESSOR_LIMITS_HPP 14 | # 15 | # include "config/limits.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/max.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_MAX_HPP 13 | # define BOOST_PREPROCESSOR_MAX_HPP 14 | # 15 | # include "selection/max.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/min.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_MIN_HPP 13 | # define BOOST_PREPROCESSOR_MIN_HPP 14 | # 15 | # include "selection/min.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/punctuation/comma.hpp: -------------------------------------------------------------------------------- 1 | # /* Copyright (C) 2001 2 | # * Housemarque Oy 3 | # * http://www.housemarque.com 4 | # * 5 | # * Distributed under the Boost Software License, Version 1.0. (See 6 | # * accompanying file LICENSE_1_0.txt or copy at 7 | # * http://www.boost.org/LICENSE_1_0.txt) 8 | # */ 9 | # 10 | # /* Revised by Paul Mensonides (2002) */ 11 | # 12 | # /* See http://www.boost.org for most recent version. */ 13 | # 14 | # ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP 15 | # define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP 16 | # 17 | # /* BOOST_PP_COMMA */ 18 | # 19 | # define BOOST_PP_COMMA() , 20 | # 21 | # endif 22 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/repeat.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_HPP 14 | # 15 | # include "repetition/repeat.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/repeat_2nd.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_2ND_HPP 14 | # 15 | # include "repetition/repeat.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/repeat_3rd.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_3RD_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_3RD_HPP 14 | # 15 | # include "repetition/repeat.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/repeat_from_to.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP 14 | # 15 | # include "repetition/repeat_from_to.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/repeat_from_to_2nd.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP 14 | # 15 | # include "repetition/repeat_from_to.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/repeat_from_to_3rd.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP 13 | # define BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP 14 | # 15 | # include "repetition/repeat_from_to.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/selection.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_SELECTION_HPP 13 | # define BOOST_PREPROCESSOR_SELECTION_HPP 14 | # 15 | # include "selection/max.hpp" 16 | # include "selection/min.hpp" 17 | # 18 | # endif 19 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/slot.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_SLOT_HPP 13 | # define BOOST_PREPROCESSOR_SLOT_HPP 14 | # 15 | # include "slot/slot.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/encryption/while.hpp: -------------------------------------------------------------------------------- 1 | # /* ************************************************************************** 2 | # * * 3 | # * (C) Copyright Paul Mensonides 2002. 4 | # * Distributed under the Boost Software License, Version 1.0. (See 5 | # * accompanying file LICENSE_1_0.txt or copy at 6 | # * http://www.boost.org/LICENSE_1_0.txt) 7 | # * * 8 | # ************************************************************************** */ 9 | # 10 | # /* See http://www.boost.org for most recent version. */ 11 | # 12 | # ifndef BOOST_PREPROCESSOR_WHILE_HPP 13 | # define BOOST_PREPROCESSOR_WHILE_HPP 14 | # 15 | # include "control/while.hpp" 16 | # 17 | # endif 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/CTestTestfile.cmake: -------------------------------------------------------------------------------- 1 | # CMake generated Testfile for 2 | # Source directory: /Users/mateuszwojtczak/Documents/Feather/frame/lib/googletest/googlemock 3 | # Build directory: /Users/mateuszwojtczak/Documents/Feather/frame/lib/googletest/googlemock 4 | # 5 | # This file includes the relevant testing commands required for 6 | # testing this directory and lists subdirectories to be tested as well. 7 | subdirs("gtest") 8 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/build-aux/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/build-aux/.keep -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/docs/Documentation.md: -------------------------------------------------------------------------------- 1 | This page lists all documentation wiki pages for Google Mock **(the SVN trunk version)** 2 | - **if you use a released version of Google Mock, please read the documentation for that specific version instead.** 3 | 4 | * [ForDummies](ForDummies.md) -- start here if you are new to Google Mock. 5 | * [CheatSheet](CheatSheet.md) -- a quick reference. 6 | * [CookBook](CookBook.md) -- recipes for doing various tasks using Google Mock. 7 | * [FrequentlyAskedQuestions](FrequentlyAskedQuestions.md) -- check here before asking a question on the mailing list. 8 | 9 | To contribute code to Google Mock, read: 10 | 11 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch. 12 | * [Pump Manual](../googletest/docs/PumpManual.md) -- how we generate some of Google Mock's source files. 13 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/docs/v1_5/Documentation.md: -------------------------------------------------------------------------------- 1 | This page lists all documentation wiki pages for Google Mock **version 1.5.0** -- **if you use a different version of Google Mock, please read the documentation for that specific version instead.** 2 | 3 | * [ForDummies](V1_5_ForDummies.md) -- start here if you are new to Google Mock. 4 | * [CheatSheet](V1_5_CheatSheet.md) -- a quick reference. 5 | * [CookBook](V1_5_CookBook.md) -- recipes for doing various tasks using Google Mock. 6 | * [FrequentlyAskedQuestions](V1_5_FrequentlyAskedQuestions.md) -- check here before asking a question on the mailing list. 7 | 8 | To contribute code to Google Mock, read: 9 | 10 | * DevGuide -- read this _before_ writing your first patch. 11 | * [Pump Manual](http://code.google.com/p/googletest/wiki/PumpManual) -- how we generate some of Google Mock's source files. -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/gtest/CTestTestfile.cmake: -------------------------------------------------------------------------------- 1 | # CMake generated Testfile for 2 | # Source directory: /Users/mateuszwojtczak/Documents/Feather/frame/lib/googletest/googletest 3 | # Build directory: /Users/mateuszwojtczak/Documents/Feather/frame/lib/googletest/googlemock/gtest 4 | # 5 | # This file includes the relevant testing commands required for 6 | # testing this directory and lists subdirectories to be tested as well. 7 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/gtest/libgtest.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/gtest/libgtest.dylib -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/gtest/libgtest.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/gtest/libgtest.so -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/gtest/libgtest_main.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/gtest/libgtest_main.dylib -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/gtest/libgtest_main.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/gtest/libgtest_main.so -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/include/gmock/internal/custom/gmock-generated-actions.h: -------------------------------------------------------------------------------- 1 | // This file was GENERATED by command: 2 | // pump.py gmock-generated-actions.h.pump 3 | // DO NOT EDIT BY HAND!!! 4 | 5 | #ifndef GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_ 6 | #define GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_ 7 | 8 | #endif // GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_ 9 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/include/gmock/internal/custom/gmock-generated-actions.h.pump: -------------------------------------------------------------------------------- 1 | $$ -*- mode: c++; -*- 2 | $$ This is a Pump source file (http://go/pump). Please use Pump to convert 3 | $$ it to callback-actions.h. 4 | $$ 5 | $var max_callback_arity = 5 6 | $$}} This meta comment fixes auto-indentation in editors. 7 | #ifndef GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_ 8 | #define GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_ 9 | 10 | #endif // GMOCK_INCLUDE_GMOCK_INTERNAL_CUSTOM_GMOCK_GENERATED_ACTIONS_H_ 11 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/libgmock.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/libgmock.dylib -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/libgmock_main.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/libgmock_main.dylib -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/libgmock_main.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/libgmock_main.so -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/msvc/2005/gmock_config.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/msvc/2010/gmock_config.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ../../../googletest 5 | 6 | 7 | <_ProjectFileVersion>10.0.30319.1 8 | 9 | 10 | 11 | $(GTestDir)/include;%(AdditionalIncludeDirectories) 12 | 13 | 14 | 15 | 16 | $(GTestDir) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/msvc/2015/gmock_config.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ../../../googletest 5 | 6 | 7 | <_ProjectFileVersion>10.0.30319.1 8 | 9 | 10 | 11 | $(GTestDir)/include;%(AdditionalIncludeDirectories) 12 | 13 | 14 | 15 | 16 | $(GTestDir) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /feather-1.0/lib/googlemock/scripts/generator/cpp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googlemock/scripts/generator/cpp/__init__.py -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/build-aux/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googletest/build-aux/.keep -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/docs/Documentation.md: -------------------------------------------------------------------------------- 1 | This page lists all documentation wiki pages for Google Test **(the SVN trunk version)** 2 | -- **if you use a released version of Google Test, please read the 3 | documentation for that specific version instead.** 4 | 5 | * [Primer](Primer.md) -- start here if you are new to Google Test. 6 | * [Samples](Samples.md) -- learn from examples. 7 | * [AdvancedGuide](AdvancedGuide.md) -- learn more about Google Test. 8 | * [XcodeGuide](XcodeGuide.md) -- how to use Google Test in Xcode on Mac. 9 | * [Frequently-Asked Questions](FAQ.md) -- check here before asking a question on the mailing list. 10 | 11 | To contribute code to Google Test, read: 12 | 13 | * [DevGuide](DevGuide.md) -- read this _before_ writing your first patch. 14 | * [PumpManual](PumpManual.md) -- how we generate some of Google Test's source files. -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/docs/V1_5_Documentation.md: -------------------------------------------------------------------------------- 1 | This page lists all official documentation wiki pages for Google Test **1.5.0** -- **if you use a different version of Google Test, make sure to read the documentation for that version instead.** 2 | 3 | * [Primer](V1_5_Primer.md) -- start here if you are new to Google Test. 4 | * [Samples](Samples.md) -- learn from examples. 5 | * [AdvancedGuide](V1_5_AdvancedGuide.md) -- learn more about Google Test. 6 | * [XcodeGuide](V1_5_XcodeGuide.md) -- how to use Google Test in Xcode on Mac. 7 | * [Frequently-Asked Questions](V1_5_FAQ.md) -- check here before asking a question on the mailing list. 8 | 9 | To contribute code to Google Test, read: 10 | 11 | * DevGuide -- read this _before_ writing your first patch. 12 | * [PumpManual](V1_5_PumpManual.md) -- how we generate some of Google Test's source files. -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/libgtest_main.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/lib/googletest/libgtest_main.so -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/xcode/Config/FrameworkTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // FrameworkTarget.xcconfig 3 | // 4 | // These are Framework target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Dynamic libs need to be position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Dynamic libs should not have their external symbols stripped. 14 | STRIP_STYLE = non-global 15 | 16 | // Let the user install by specifying the $DSTROOT with xcodebuild 17 | SKIP_INSTALL = NO 18 | -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/xcode/Config/StaticLibraryTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // StaticLibraryTarget.xcconfig 3 | // 4 | // These are static library target settings for libgtest.a. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Static libs can be included in bundles so make them position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Static libs should not have their internal globals or external symbols 14 | // stripped. 15 | STRIP_STYLE = debugging 16 | 17 | // Let the user install by specifying the $DSTROOT with xcodebuild 18 | SKIP_INSTALL = NO 19 | -------------------------------------------------------------------------------- /feather-1.0/lib/googletest/xcode/Config/TestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // TestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME) 8 | HEADER_SEARCH_PATHS = ../include 9 | -------------------------------------------------------------------------------- /feather-1.0/logo/128x128/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/128x128/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/16x16/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/16x16/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/22x22/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/22x22/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/24x24/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/24x24/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/256x256/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/256x256/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/32x32/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/32x32/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/36x36/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/36x36/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/48x48/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/48x48/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/512x512/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/512x512/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/64x64/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/64x64/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/72x72/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/72x72/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/96x96/apps/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/96x96/apps/feather.png -------------------------------------------------------------------------------- /feather-1.0/logo/feather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/logo/feather.png -------------------------------------------------------------------------------- /feather-1.0/scripts/run_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BASEDIR=$(dirname $0) 4 | 5 | export PATH=$PATH:/Applications/CMake.app/Contents/bin 6 | cd $BASEDIR/.. && make clean && make TEST='true' all_tests 7 | -------------------------------------------------------------------------------- /feather-1.0/src/action/Action.cpp: -------------------------------------------------------------------------------- 1 | #include "action/Action.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action 6 | -------------------------------------------------------------------------------- /feather-1.0/src/action/CutAction.cpp: -------------------------------------------------------------------------------- 1 | #include "action/CutAction.hpp" 2 | #include "utils/helpers/Lambda.hpp" 3 | 4 | namespace feather::action 5 | { 6 | CutAction::CutAction(CutActionInput &&input) 7 | : Action(input, CutActionOutput()) 8 | { 9 | } 10 | 11 | CutActionOutput CutAction::execute() 12 | { 13 | /* TODO */ 14 | } 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/src/action/MoveToFileBeginAction.cpp: -------------------------------------------------------------------------------- 1 | #include "action/MoveToFileBeginAction.hpp" 2 | #include "printer/PrintingOrchestratorInterface.hpp" 3 | 4 | namespace feather::action 5 | { 6 | MoveToFileBeginAction::MoveToFileBeginAction(MoveToFileBeginActionInput &&input) 7 | : Action(input, MoveToFileBeginActionOutput()) 8 | { 9 | } 10 | 11 | MoveToFileBeginActionOutput MoveToFileBeginAction::execute() 12 | { 13 | return MoveToFileBeginActionOutput{getActionInput().printingOrchestrator->getFirstValidPosition(getActionInput().window->getUUID())}; 14 | } 15 | } // namespace feather::action 16 | -------------------------------------------------------------------------------- /feather-1.0/src/action/SearchSubstringAction.cpp: -------------------------------------------------------------------------------- 1 | #include "action/SearchSubstringAction.hpp" 2 | 3 | namespace feather::action 4 | { 5 | SearchSubstringAction::SearchSubstringAction(SearchSubstringActionInput &input) 6 | : Action(input, SearchSubstringActionOutput{std::make_pair(std::nullopt, utils::datatypes::ERROR::NONE)}) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/AlignToMiddleOfScreenActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/AlignToMiddleOfScreenActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | AlignToMiddleOfScreenActionInput::AlignToMiddleOfScreenActionInput(std::shared_ptr windowArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg, std::unique_ptr &lineUpVisitorArg, std::unique_ptr &lineDownVisitorArg) 6 | : printingOrchestrator(printingOrchestartorArg), window(windowArg), windowsManager(windowsManagerArg), lineUpVisitor(lineUpVisitorArg), lineDownVisitor(lineDownVisitorArg) 7 | { 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/input/CopyLineActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/CopyLineActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | CopyLineActionInput::CopyLineActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/CutActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/CutActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | CutActionInput::CutActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/EditLineAboveActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/EditLineAboveActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | EditLineAboveActionInput::EditLineAboveActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, reader::KeyStroke *keyStrokeArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg), keyStroke(keyStrokeArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/EditLineBelowActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/EditLineBelowActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | EditLineBelowActionInput::EditLineBelowActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, reader::KeyStroke *keyStrokeArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), keyStroke(keyStrokeArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/EditNextCharacterActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/EditNextCharacterActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | EditNextCharacterActionInput::EditNextCharacterActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/input/GetStringsActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/GetStringsActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | GetStringsActionInput::GetStringsActionInput(windows::MainWindowInterface *windowArg) 6 | : window(windowArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/GotoLineActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/GotoLineActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | GotoLineActionInput::GotoLineActionInput(size_t lineNumberArg, std::shared_ptr keyReaderArg, utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg, std::unique_ptr &currFrameVisitorArg) 6 | : lineNumber(lineNumberArg), keyReader(keyReaderArg), printingOrchestrator(printingOrchestartorArg), windowUUID(windowUUIDArg), storage(storageArg), windowsManager(windowsManagerArg), currFrameVisitor(currFrameVisitorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/HighlightBetweenBracketsActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/HighlightBetweenBracketsActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | HighlightBetweenBracketsActionInput::HighlightBetweenBracketsActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, char32_t openingBracketArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), openingBracket(openingBracketArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/JumpToBracketActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/JumpToBracketActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | JumpToBracketActionInput::JumpToBracketActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg, char32_t searchedBracketArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg), searchedBracket(searchedBracketArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToByteActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToByteActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToByteActionInput::MoveToByteActionInput(size_t byteMoveToArg, utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : byteMoveTo(byteMoveToArg), printingOrchestrator(printingOrchestartorArg), windowUUID(windowUUIDArg), storage(storageArg) 7 | { 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToFileBeginActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToFileBeginActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToFileBeginActionInput::MoveToFileBeginActionInput(std::shared_ptr windowArg, std::shared_ptr printingOrchestartorArg) 6 | : printingOrchestrator(printingOrchestartorArg), window(windowArg) 7 | { 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToFileEndActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToFileEndActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToFileEndActionInput::MoveToFileEndActionInput(std::shared_ptr windowArg, std::shared_ptr printingOrchestartorArg) 6 | : printingOrchestrator(printingOrchestartorArg), window(windowArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToLineBeginActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToLineBeginActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToLineBeginActionInput::MoveToLineBeginActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToLineEndActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToLineEndActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToLineEndActionInput::MoveToLineEndActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToLineEndWithEditActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToLineEndWithEditActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToLineEndWithEditActionInput::MoveToLineEndWithEditActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToNextWordActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToNextWordActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToNextWordActionInput::MoveToNextWordActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/MoveToPreviousWordActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/MoveToPreviousWordActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | MoveToPreviousWordActionInput::MoveToPreviousWordActionInput(std::shared_ptr windowArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : printingOrchestrator(printingOrchestartorArg), window(windowArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveAllActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveAllActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveAllActionInput::RemoveAllActionInput(SearchSubstringActionInput searchSubstringActionInputArg, utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, size_t bytesToRemoveArg) 6 | : searchSubstringActionInput(searchSubstringActionInputArg), windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), bytesToRemove(bytesToRemoveArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveBetweenBracketsActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveBetweenBracketsActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveBetweenBracketsActionInput::RemoveBetweenBracketsActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, char32_t openingBracketArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), openingBracket(openingBracketArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveBetweenWhiteCharactersActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveBetweenWhiteCharactersActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveBetweenWhiteCharactersActionInput::RemoveBetweenWhiteCharactersActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveCharacterUnderCursorActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveCharacterUnderCursorActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveCharacterUnderCursorActionInput::RemoveCharacterUnderCursorActionInput(utils::datatypes::Uuid const &windowUUIDArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), printingOrchestrator(printingOrchestartorArg), storage(storageArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveLineActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveLineActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveLineActionInput::RemoveLineActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, size_t noLinesArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), noLines(noLinesArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveUntilFileBeginActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveUntilFileBeginActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveUntilFileBeginActionInput::RemoveUntilFileBeginActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveUntilFileEndActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveUntilFileEndActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveUntilFileEndActionInput::RemoveUntilFileEndActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveUntilLineEndActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveUntilLineEndActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveUntilLineEndActionInput::RemoveUntilLineEndActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveWordBackwardActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveWordBackwardActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveWordBackwardActionInput::RemoveWordBackwardActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/RemoveWordForwardActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/RemoveWordForwardActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | RemoveWordForwardActionInput::RemoveWordForwardActionInput(utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr windowsManagerArg, pair cursorPosArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : windowUUID(windowUUIDArg), windowsManager(windowsManagerArg), cursorPos(cursorPosArg), storage(storageArg), printingOrchestrator(printingOrchestartorArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/ShiftRightActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/ShiftRightActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | ShiftRightActionInput::ShiftRightActionInput(std::pair rangeArg, pair currCursorPosArg, utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg, std::unique_ptr &currFrameVisitorArg) 6 | : range(rangeArg), currCursorPos(currCursorPosArg), printingOrchestrator(printingOrchestartorArg), windowUUID(windowUUIDArg), storage(storageArg), windowsManager(windowsManagerArg), currFrameVisitor(currFrameVisitorArg) 7 | { 8 | } 9 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/input/SkipEmptyCharactersActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/SkipEmptyCharactersActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | SkipEmptyCharactersActionInput::SkipEmptyCharactersActionInput(std::shared_ptr windowArg, std::shared_ptr printingOrchestartorArg, std::shared_ptr windowsManagerArg) 6 | : printingOrchestrator(printingOrchestartorArg), window(windowArg), windowsManager(windowsManagerArg) 7 | { 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/input/SwitchModeActionInput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/input/SwitchModeActionInput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | SwitchModeActionInput::SwitchModeActionInput(pair cursorPositionArg, utils::datatypes::Uuid const &windowUUIDArg, std::shared_ptr storageArg, std::shared_ptr printingOrchestartorArg) 6 | : cursorPosition(cursorPositionArg), printingOrchestrator(printingOrchestartorArg), windowUUID(windowUUIDArg), storage(storageArg) 7 | { 8 | } 9 | } // namespace feather::acti -------------------------------------------------------------------------------- /feather-1.0/src/action/output/AlignToMiddleOfScreenActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/AlignToMiddleOfScreenActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair AlignToMiddleOfScreenActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/CopyLineActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/CopyLineActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | std::optional> CopyLineActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/output/CutActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/CutActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | std::optional> CutActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/output/EditLineAboveActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/EditLineAboveActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair EditLineAboveActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/EditLineBelowActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/EditLineBelowActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair EditLineBelowActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/EditNextCharacterActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/EditNextCharacterActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair EditNextCharacterActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/GetStringsActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/GetStringsActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/GotoLineActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/GotoLineActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/HighlightBetweenBracketsActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/HighlightBetweenBracketsActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/JumpToBracketActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/JumpToBracketActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToByteActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToByteActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToByteActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToFileBeginActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToFileBeginActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToFileBeginActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::actio 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToFileEndActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToFileEndActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToFileEndActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::actio 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToLineBeginActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToLineBeginActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToLineBeginActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::actio 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToLineEndActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToLineEndActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToLineEndActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToLineEndWithEditActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToLineEndWithEditActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToLineEndWithEditActionOutput::getResult() 6 | { 7 | return cursorRealPosition; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToNextWordActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToNextWordActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToNextWordActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/MoveToPreviousWordActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/MoveToPreviousWordActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair MoveToPreviousWordActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/PasteActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/PasteActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveAllActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveAllActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveBetweenBracketsActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveBetweenBracketsActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveBetweenWhiteCharactersActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveBetweenWhiteCharactersActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveBetweenWhiteCharactersActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveCharacterUnderCursorActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveCharacterUnderCursorActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveCharacterUnderCursorActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveLineActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveLineActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveLineActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveUntilFileBeginActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveUntilFileBeginActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveUntilFileBeginActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveUntilFileEndActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveUntilFileEndActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveUntilFileEndActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveUntilLineEndActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveUntilLineEndActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveUntilLineEndActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveWordBackwardActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveWordBackwardActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveWordBackwardActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/RemoveWordForwardActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/RemoveWordForwardActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair RemoveWordForwardActionOutput::getResult() 6 | { 7 | return newCursorPosition; 8 | } 9 | } // namespace feather::action 10 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/ReplaceAllActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/ReplaceAllActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::actio -------------------------------------------------------------------------------- /feather-1.0/src/action/output/SaveChangesActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/SaveChangesActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | SaveChangesActionOutput::SaveChangesActionOutput(utils::datatypes::ERROR error, std::optional junkFileArg) 6 | : result(error), junkFile(junkFileArg) 7 | { 8 | } 9 | 10 | utils::datatypes::ERROR SaveChangesActionOutput::getResult() const 11 | { 12 | return result; 13 | } 14 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/SearchSubstringActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/SearchSubstringActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action 6 | -------------------------------------------------------------------------------- /feather-1.0/src/action/output/ShiftRightActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/ShiftRightActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/SkipEmptyCharactersActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/SkipEmptyCharactersActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair SkipEmptyCharactersActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::action -------------------------------------------------------------------------------- /feather-1.0/src/action/output/SwitchModeActionOutput.cpp: -------------------------------------------------------------------------------- 1 | #include "action/output/SwitchModeActionOutput.hpp" 2 | 3 | namespace feather::action 4 | { 5 | pair SwitchModeActionOutput::getResult() 6 | { 7 | return result; 8 | } 9 | } // namespace feather::acti -------------------------------------------------------------------------------- /feather-1.0/src/printer/PrintingOrchestratorInterface.cpp: -------------------------------------------------------------------------------- 1 | #include "printer/PrintingOrchestratorInterface.hpp" 2 | 3 | namespace feather::printer 4 | { 5 | PrintingOrchestratorInterface::~PrintingOrchestratorInterface() {} 6 | } // namespace feather::printer -------------------------------------------------------------------------------- /feather-1.0/src/utils/BufferFillerInterface.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/BufferFillerInterface.hpp" 2 | 3 | namespace feather::utils 4 | { 5 | BufferFillerInterface::~BufferFillerInterface() {} 6 | } // namespace feather::utils -------------------------------------------------------------------------------- /feather-1.0/src/utils/FilesystemInterface.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/FilesystemInterface.hpp" 2 | 3 | namespace feather::utils 4 | { 5 | FilesystemInterface::~FilesystemInterface() 6 | { 7 | } 8 | } // namespace feather::utils 9 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/algorithm/SearchEngine.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/algorithm/SearchEngine.hpp" 2 | 3 | namespace feather::utils::algorithm 4 | { 5 | SearchEngine::~SearchEngine() = default; 6 | } -------------------------------------------------------------------------------- /feather-1.0/src/utils/datatypes/ChangePOD.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/datatypes/ChangePOD.hpp" 2 | 3 | namespace feather::utils::datatypes 4 | { 5 | } // namespace feather::utils::datatypes 6 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/datatypes/DeletionsSnapshot.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/datatypes/DeletionsSnapshot.hpp" 2 | #include "utils/helpers/Lambda.hpp" 3 | 4 | namespace feather::utils::datatypes 5 | { 6 | void DeletionsSnapshot::shift(pair pos, size_t size) 7 | { 8 | deletions = utils::helpers::Lambda::shiftIntervals(deletions, pos, size, std::nullopt); 9 | reverseDeletions.clear(); 10 | for (auto &deletion : deletions) 11 | { 12 | reverseDeletions[deletion.second] = deletion.first; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /feather-1.0/src/utils/datatypes/Uuid.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/datatypes/Uuid.hpp" 2 | 3 | namespace feather::utils::datatypes 4 | { 5 | 6 | Uuid::Uuid(std::string uuidArg) 7 | { 8 | uuid = uuidArg; 9 | } 10 | 11 | Uuid::Uuid(unsigned int length) 12 | { 13 | uuid = generate_hex(length); 14 | } 15 | 16 | std::string const & Uuid::getString() const 17 | { 18 | return uuid; 19 | } 20 | } // namespace feather::utils::datatypes 21 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/exception/Exception.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/Exception.hpp" 2 | 3 | namespace Mirror::utils 4 | { 5 | } 6 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/logger/Logger.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/logger/Logger.hpp" 2 | #include "utils/logger/policy/FileLogPolicy.hpp" 3 | 4 | namespace feather::utils::logger::policy 5 | { 6 | } // namespace feather::utils::logger::policy 7 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/storage/AbstractStorage.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/helpers/Lambda.hpp" 2 | #include "utils/storage/AbstractStorage.hpp" 3 | 4 | namespace feather::utils::storage 5 | { 6 | bool AbstractStorage::isCurrCharacterNewLine() 7 | { 8 | return utils::helpers::Lambda::isNewLineChar(getCurrentCharacter()); 9 | } 10 | 11 | AbstractStorage::~AbstractStorage() = default; 12 | } // namespace feather::utils::storage 13 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/storage/AbstractStorageFactory.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/storage/AbstractStorageFactory.hpp" 2 | 3 | namespace feather::utils::storage 4 | { 5 | AbstractStorageFactory::~AbstractStorageFactory() = default; 6 | } 7 | -------------------------------------------------------------------------------- /feather-1.0/src/utils/windows/LinesAroundPositionInformation.cpp: -------------------------------------------------------------------------------- 1 | #include "utils/windows/LinesAroundPositionInformation.hpp" 2 | 3 | namespace feather::utils::windows 4 | { 5 | LinesAroundPositionInformation::LinesAroundPositionInformation(std::tuple, std::pair, std::pair> &&input) 6 | : linesLength(input) 7 | { 8 | } 9 | 10 | std::tuple, std::pair, std::pair> LinesAroundPositionInformation::getInformation() 11 | { 12 | return linesLength; 13 | } 14 | } // namespace feather::utils::windows 15 | -------------------------------------------------------------------------------- /feather-1.0/src/windows/WindowImplInterface.cpp: -------------------------------------------------------------------------------- 1 | #include "windows/WindowImplInterface.hpp" 2 | 3 | namespace feather::windows 4 | { 5 | WindowImplInterface::~WindowImplInterface() 6 | { 7 | } 8 | } // namespace feather::windows -------------------------------------------------------------------------------- /feather-1.0/tst/integ/RemoveWordForwardActionIntegTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/integ/RemoveWordForwardActionIntegTest.cpp -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/FileStorageHelper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/FileStorageHelper.cpp -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/Timeout.cpp: -------------------------------------------------------------------------------- 1 | #include "helpers/Timeout.hpp" 2 | #include "utils/exception/FeatherTimeoutException.hpp" 3 | 4 | void Timeout::wait(std::chrono::duration> duration) 5 | { 6 | std::unique_lock lck(mutex); 7 | if (cv.wait_for(lck, duration) == std::cv_status::timeout) 8 | { 9 | throw feather::utils::exception::FeatherTimeoutException(duration, " ticks"); 10 | } 11 | } 12 | 13 | void Timeout::wait(Timeout *obj, std::chrono::duration> duration) 14 | { 15 | auto threadFunction = static_cast>))>(&Timeout::wait); 16 | std::thread t(threadFunction, obj, duration); 17 | t.detach(); 18 | } 19 | 20 | void Timeout::breakTimeout() 21 | { 22 | cv.notify_one(); 23 | } 24 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/Timeout.hpp: -------------------------------------------------------------------------------- 1 | #ifndef HELPER_TIMEOUT 2 | #define HELPER_TIMEOUT 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace std::chrono_literals; 11 | 12 | class Timeout 13 | { 14 | private: 15 | void wait(std::chrono::duration>); 16 | std::condition_variable cv; 17 | std::mutex mutex; 18 | 19 | public: 20 | static void wait(Timeout*, std::chrono::duration>); 21 | void breakTimeout(); 22 | }; 23 | #endif 24 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/featherConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "cache" : true, 3 | "cacheNoPages" : 1, 4 | "cachePageSize" : 6, 5 | "maxLogMbFileSize" : 1024, 6 | "memoryMbRelaxed" : 1, 7 | "storagePath" : "/test", 8 | "locale" : "en_CA.UTF-8", 9 | "readMode" : "binary", 10 | "tabWidth" : 8 11 | } 12 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/improperFeatherConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | cacheOnOff" : "Off", 3 | "cacheNoPages" : 1024, 4 | "cachePageSize" : 1024, 5 | "maxLogMbFileSize" : 1024, 6 | "memoryMbRelaxed" : 1, 7 | "dataPath" : "", 8 | "locale" : "", 9 | "readMode" : "text", 10 | "tabWidth" : 4 11 | } 12 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/partialFeatherConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "cacheNoPages" : 1024, 3 | "cachePageSize" : 1024, 4 | "maxLogMbFileSize" : 1024, 5 | "memoryMbRelaxed" : 1, 6 | "readMode" : "text", 7 | "tabWidth" : 4 8 | } 9 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/1111222233334444/2_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 1 3365 2 | 2 3392 3 | 3 3419 4 | 4 3427 5 | 5 16581 6 | 6 16607 7 | 7 16626 8 | 8 16646 9 | 9 16726 10 | 10 16752 11 | 11 16771 12 | 12 16791 13 | 13 16882 14 | 14 16906 15 | 15 17117 16 | 16 17141 17 | 17 17762 18 | 18 17818 19 | 19 17874 20 | 20 17930 21 | 21 17986 22 | 22 18288 23 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/1_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/testfiles/1_IS_17573869185184923612.fea -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/220097a9-67fc-4110-b92e-c60227359c68/1_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 2 113 2 | 1 154 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/220097a9-67fc-4110-b92e-c60227359c68/2_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 1 3365 2 | 2 3392 3 | 3 3419 4 | 4 3427 5 | 5 16581 6 | 6 16607 7 | 7 16626 8 | 8 16646 9 | 9 16726 10 | 10 16752 11 | 11 16771 12 | 12 16791 13 | 13 16882 14 | 14 16906 15 | 15 17117 16 | 16 17141 17 | 17 17762 18 | 18 17818 19 | 19 17874 20 | 20 17930 21 | 21 17986 22 | 22 18288 23 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/2222333344445555/SS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 1 154:3 2 | 2 155:3 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/2_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/testfiles/2_IS_17573869185184923612.fea -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/IS_x6fx62x6a.fea: -------------------------------------------------------------------------------- 1 | 113:obj 2 | 154:obj 3 | 195:obj 4 | 236:obj 5 | 277:obj 6 | 318:obj 7 | 359:obj 8 | 400:obj 9 | 441:obj 10 | 482:obj 11 | 523:obj 12 | 564:obj 13 | 605:obj 14 | 646:obj 15 | 687:obj 16 | 728:obj 17 | 769:obj 18 | 810:obj 19 | 851:obj 20 | 892:obj 21 | 933:obj 22 | 974:obj 23 | 1015:obj 24 | 1056:obj 25 | 1097:obj 26 | 1138:obj 27 | 1179:obj 28 | 1220:obj 29 | 1261:obj 30 | 2959:obj 31 | 3008:obj 32 | 3047:obj 33 | 11752:obj 34 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/aaabbbcccddd/1_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 1 154 2 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/aaabbbcccddd/2_IS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 1 3365 2 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/aaabbbcccddd/SS_17573869185184923612.fea: -------------------------------------------------------------------------------- 1 | 1 154:3 2 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/changes4NewCharacters: -------------------------------------------------------------------------------- 1 | abcd 2 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/changesWithNewLine: -------------------------------------------------------------------------------- 1 | ab 2 | cd 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/emptyFile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/testfiles/emptyFile -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/fileWrapperTestFile: -------------------------------------------------------------------------------- 1 | test 2 | x 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/searchResultSingleLine: -------------------------------------------------------------------------------- 1 | 1 1986:24 2 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/searchResultTwoLinesSecondarySearch: -------------------------------------------------------------------------------- 1 | 1 1986:24 2 | 2 2000:22 -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/searchResultsMultipleLines: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/testfiles/searchResultsMultipleLines -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/searchResultsMultipleLinesInitialSearch: -------------------------------------------------------------------------------- 1 | 1 1986 2 | 2 1989 3 | 3 2018 4 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_01_07_2018: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/testfiles/testFile_01_07_2018 -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_06_10_2018: -------------------------------------------------------------------------------- 1 | Przeszły dżdże wiosny, zbiegło skwarne lato 2 | 3 | I przykre miastu jesienne potopy, 4 | 5 | Już bruk ziębiącą obleczony szatą, 6 | 7 | Od stalnej Fryzów nie krzesany stopy. 8 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_09_09_2018: -------------------------------------------------------------------------------- 1 | ab 2 | bc 3 | cd 4 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_10_02_2019: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_11_02_2019: -------------------------------------------------------------------------------- 1 | abcd 2 | efij 3 | kl 4 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_11_08_2018: -------------------------------------------------------------------------------- 1 | this is testing file one before last line 2 | this is last non empty line 3 | 4 | 5 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_11_10_2018: -------------------------------------------------------------------------------- 1 | copy. 2 | copycopy 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_15_09_2018: -------------------------------------------------------------------------------- 1 | 123456 2 | 789000 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_16_02_2019: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_22_06_2019: -------------------------------------------------------------------------------- 1 | 123 2 | 3 | 456 4 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/testfiles/testFile_23_11_2018: -------------------------------------------------------------------------------- 1 | a 2 | b 3 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/ut: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/helpers/ut -------------------------------------------------------------------------------- /feather-1.0/tst/ut/helpers/wrongDataTypesFeatherConfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "cacheOnOff" : 1024, 3 | "cacheNoPages" : 1024, 4 | "cachePageSize" : 1024, 5 | "maxLogMbFileSize" : 1024, 6 | "memoryMbRelaxed" : 1, 7 | "dataPath" : 1, 8 | "locale" : "", 9 | "readMode" : "text", 10 | "tabWidth" : 4 11 | } 12 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/mocks/ChangesStackMock.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0xBaca/FeatherEditor/febd8f9d964a307372dc5ea2769269f417a0aec0/feather-1.0/tst/ut/mocks/ChangesStackMock.hpp -------------------------------------------------------------------------------- /feather-1.0/tst/ut/mocks/ConfigurationMock.hpp: -------------------------------------------------------------------------------- 1 | #include "config/Config.hpp" 2 | 3 | #include 4 | 5 | using namespace feather::config; 6 | using namespace feather::utils::logger::policy; 7 | 8 | namespace testing::mocks 9 | { 10 | class ConfigurationMock : public Configuration 11 | { 12 | public: 13 | static auto constexpr LOG_FILE_NAME = "testLog.txt"; 14 | }; 15 | } // namespace testing::mocks 16 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/mocks/FileLogPolicyMock.hpp: -------------------------------------------------------------------------------- 1 | #include "utils/logger/policy/FileLogPolicy.hpp" 2 | 3 | #include 4 | 5 | using namespace feather::utils::logger::policy; 6 | 7 | namespace testing::mocks 8 | { 9 | class FileLogPolicyMock : public FileLogPolicy 10 | { 11 | public: 12 | MOCK_METHOD1(write, void(const std::string &)); 13 | }; 14 | } // namespace testing::mocks 15 | -------------------------------------------------------------------------------- /feather-1.0/tst/ut/mocks/NCursesWrapperMock.hpp: -------------------------------------------------------------------------------- 1 | #include "utils/NCursesWrapper.hpp" 2 | #include 3 | 4 | using namespace feather::utils; 5 | 6 | namespace testing::mocks 7 | { 8 | class NCursesWrapperMock : public NCursesWrapper 9 | { 10 | public: 11 | MOCK_CONST_METHOD0(getCursorPosition, std::pair()); 12 | MOCK_CONST_METHOD0(getMaxScreenNoRowsColumns, std::pair()); 13 | MOCK_METHOD1(print, void(std::pair const, std::map, bool>>> &)); 14 | MOCK_METHOD4(resizeWindow, void(size_t, size_t, size_t, size_t)); 15 | }; 16 | } // namespace testing::mocks --------------------------------------------------------------------------------