text-region 0.1.0.0 → 0.1.0.1
raw patch · 3 files changed
+42/−6 lines, 3 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Data.Text.Region: class (Editable s, ApplyMap (e s)) ⇒ EditAction e s
- Data.Text.Region: instance Data.Text.Region.ApplyMap (e s) ⇒ Data.Text.Region.ApplyMap (Data.Text.Region.Types.Chain e s)
- Data.Text.Region: instance Data.Text.Region.ApplyMap a ⇒ Data.Text.Region.ApplyMap [a]
- Data.Text.Region: instance Data.Text.Region.EditAction e s ⇒ Data.Text.Region.EditAction (Data.Text.Region.Types.Chain e) s
- Data.Text.Region: instance Data.Text.Region.Types.Editable s ⇒ Data.Text.Region.EditAction Data.Text.Region.Types.Replace s
- Data.Text.Region.Types: class Monoid a ⇒ Editable a
- Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.Class.FromJSON s) ⇒ Data.Aeson.Types.Class.FromJSON (Data.Text.Region.Types.Replace s)
- Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.Class.FromJSON s, Data.Aeson.Types.Class.FromJSON r) ⇒ Data.Aeson.Types.Class.FromJSON (Data.Text.Region.Types.EditState s r)
- Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.Class.ToJSON s) ⇒ Data.Aeson.Types.Class.ToJSON (Data.Text.Region.Types.Replace s)
- Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.Class.ToJSON s) ⇒ GHC.Show.Show (Data.Text.Region.Types.Replace s)
- Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.Class.ToJSON s, Data.Aeson.Types.Class.ToJSON r) ⇒ Data.Aeson.Types.Class.ToJSON (Data.Text.Region.Types.EditState s r)
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.FromJSON (e s) ⇒ Data.Aeson.Types.Class.FromJSON (Data.Text.Region.Types.Chain e s)
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.FromJSON Data.Text.Region.Types.Point
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.FromJSON Data.Text.Region.Types.Region
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.FromJSON e ⇒ Data.Aeson.Types.Class.FromJSON (Data.Text.Region.Types.ActionIso e)
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.FromJSON e ⇒ Data.Aeson.Types.Class.FromJSON (Data.Text.Region.Types.ActionStack e)
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.ToJSON (e s) ⇒ Data.Aeson.Types.Class.ToJSON (Data.Text.Region.Types.Chain e s)
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.ToJSON Data.Text.Region.Types.Point
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.ToJSON Data.Text.Region.Types.Region
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.ToJSON e ⇒ Data.Aeson.Types.Class.ToJSON (Data.Text.Region.Types.ActionIso e)
- Data.Text.Region.Types: instance Data.Aeson.Types.Class.ToJSON e ⇒ Data.Aeson.Types.Class.ToJSON (Data.Text.Region.Types.ActionStack e)
- Data.Text.Region.Types: instance GHC.Base.Monoid e ⇒ Data.Group.Group (Data.Text.Region.Types.ActionIso e)
- Data.Text.Region.Types: instance GHC.Base.Monoid e ⇒ GHC.Base.Monoid (Data.Text.Region.Types.ActionIso e)
- Data.Text.Region.Types: instance GHC.Classes.Eq (e s) ⇒ GHC.Classes.Eq (Data.Text.Region.Types.Chain e s)
- Data.Text.Region.Types: instance GHC.Classes.Eq s ⇒ GHC.Classes.Eq (Data.Text.Region.Types.Replace s)
- Data.Text.Region.Types: instance GHC.Show.Show (e s) ⇒ GHC.Show.Show (Data.Text.Region.Types.Chain e s)
+ Data.Text.Region: class (Editable s, ApplyMap (e s)) => EditAction e s
+ Data.Text.Region: instance Data.Text.Region.ApplyMap (e s) => Data.Text.Region.ApplyMap (Data.Text.Region.Types.Chain e s)
+ Data.Text.Region: instance Data.Text.Region.ApplyMap a => Data.Text.Region.ApplyMap [a]
+ Data.Text.Region: instance Data.Text.Region.EditAction e s => Data.Text.Region.EditAction (Data.Text.Region.Types.Chain e) s
+ Data.Text.Region: instance Data.Text.Region.Types.Editable s => Data.Text.Region.EditAction Data.Text.Region.Types.Replace s
+ Data.Text.Region.Types: class Monoid a => Editable a
+ Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.FromJSON.FromJSON s) => Data.Aeson.Types.FromJSON.FromJSON (Data.Text.Region.Types.Replace s)
+ Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.FromJSON.FromJSON s, Data.Aeson.Types.FromJSON.FromJSON r) => Data.Aeson.Types.FromJSON.FromJSON (Data.Text.Region.Types.EditState s r)
+ Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.ToJSON.ToJSON s) => Data.Aeson.Types.ToJSON.ToJSON (Data.Text.Region.Types.Replace s)
+ Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.ToJSON.ToJSON s) => GHC.Show.Show (Data.Text.Region.Types.Replace s)
+ Data.Text.Region.Types: instance (Data.Text.Region.Types.Editable s, Data.Aeson.Types.ToJSON.ToJSON s, Data.Aeson.Types.ToJSON.ToJSON r) => Data.Aeson.Types.ToJSON.ToJSON (Data.Text.Region.Types.EditState s r)
+ Data.Text.Region.Types: instance Data.Aeson.Types.FromJSON.FromJSON (e s) => Data.Aeson.Types.FromJSON.FromJSON (Data.Text.Region.Types.Chain e s)
+ Data.Text.Region.Types: instance Data.Aeson.Types.FromJSON.FromJSON Data.Text.Region.Types.Point
+ Data.Text.Region.Types: instance Data.Aeson.Types.FromJSON.FromJSON Data.Text.Region.Types.Region
+ Data.Text.Region.Types: instance Data.Aeson.Types.FromJSON.FromJSON e => Data.Aeson.Types.FromJSON.FromJSON (Data.Text.Region.Types.ActionIso e)
+ Data.Text.Region.Types: instance Data.Aeson.Types.FromJSON.FromJSON e => Data.Aeson.Types.FromJSON.FromJSON (Data.Text.Region.Types.ActionStack e)
+ Data.Text.Region.Types: instance Data.Aeson.Types.ToJSON.ToJSON (e s) => Data.Aeson.Types.ToJSON.ToJSON (Data.Text.Region.Types.Chain e s)
+ Data.Text.Region.Types: instance Data.Aeson.Types.ToJSON.ToJSON Data.Text.Region.Types.Point
+ Data.Text.Region.Types: instance Data.Aeson.Types.ToJSON.ToJSON Data.Text.Region.Types.Region
+ Data.Text.Region.Types: instance Data.Aeson.Types.ToJSON.ToJSON e => Data.Aeson.Types.ToJSON.ToJSON (Data.Text.Region.Types.ActionIso e)
+ Data.Text.Region.Types: instance Data.Aeson.Types.ToJSON.ToJSON e => Data.Aeson.Types.ToJSON.ToJSON (Data.Text.Region.Types.ActionStack e)
+ Data.Text.Region.Types: instance GHC.Base.Monoid e => Data.Group.Group (Data.Text.Region.Types.ActionIso e)
+ Data.Text.Region.Types: instance GHC.Base.Monoid e => GHC.Base.Monoid (Data.Text.Region.Types.ActionIso e)
+ Data.Text.Region.Types: instance GHC.Classes.Eq (e s) => GHC.Classes.Eq (Data.Text.Region.Types.Chain e s)
+ Data.Text.Region.Types: instance GHC.Classes.Eq s => GHC.Classes.Eq (Data.Text.Region.Types.Replace s)
+ Data.Text.Region.Types: instance GHC.Show.Show (e s) => GHC.Show.Show (Data.Text.Region.Types.Chain e s)
- Data.Text.Region: actionMap :: EditAction e s ⇒ e s -> Map
+ Data.Text.Region: actionMap :: EditAction e s => e s -> Map
- Data.Text.Region: apply :: EditAction Replace s ⇒ Edit s -> Contents s -> Contents s
+ Data.Text.Region: apply :: EditAction Replace s => Edit s -> Contents s -> Contents s
- Data.Text.Region: applyEdit :: EditAction e s ⇒ e s -> Contents s -> Contents s
+ Data.Text.Region: applyEdit :: EditAction e s => e s -> Contents s -> Contents s
- Data.Text.Region: applyMap :: ApplyMap a ⇒ Map -> a -> a
+ Data.Text.Region: applyMap :: ApplyMap a => Map -> a -> a
- Data.Text.Region: atRegion :: Editable s ⇒ Region -> Lens' (Contents s) (Contents s)
+ Data.Text.Region: atRegion :: Editable s => Region -> Lens' (Contents s) (Contents s)
- Data.Text.Region: cut :: EditAction e s ⇒ Region -> e s
+ Data.Text.Region: cut :: EditAction e s => Region -> e s
- Data.Text.Region: edit :: EditAction Replace s ⇒ s -> r -> EditM s r a -> (a, s)
+ Data.Text.Region: edit :: EditAction Replace s => s -> r -> EditM s r a -> (a, s)
- Data.Text.Region: edit_ :: EditAction Replace s ⇒ s -> r -> EditM s r a -> s
+ Data.Text.Region: edit_ :: EditAction Replace s => s -> r -> EditM s r a -> s
- Data.Text.Region: inverse :: EditAction e s ⇒ Contents s -> e s -> e s
+ Data.Text.Region: inverse :: EditAction e s => Contents s -> e s -> e s
- Data.Text.Region: overwrite :: EditAction e s ⇒ Point -> Contents s -> e s
+ Data.Text.Region: overwrite :: EditAction e s => Point -> Contents s -> e s
- Data.Text.Region: paste :: EditAction e s ⇒ Point -> Contents s -> e s
+ Data.Text.Region: paste :: EditAction e s => Point -> Contents s -> e s
- Data.Text.Region: perform :: EditAction e s ⇒ e s -> State (Contents s) (e s)
+ Data.Text.Region: perform :: EditAction e s => e s -> State (Contents s) (e s)
- Data.Text.Region: push :: EditAction Replace s ⇒ ActionIso (Edit s) -> EditM s r ()
+ Data.Text.Region: push :: ActionIso (Edit s) -> EditM s r ()
- Data.Text.Region: redo :: (EditAction Replace s, ApplyMap r) ⇒ EditM s r ()
+ Data.Text.Region: redo :: (EditAction Replace s, ApplyMap r) => EditM s r ()
- Data.Text.Region: replace :: EditAction e s ⇒ Region -> Contents s -> e s
+ Data.Text.Region: replace :: EditAction e s => Region -> Contents s -> e s
- Data.Text.Region: run :: (EditAction Replace s, ApplyMap r) ⇒ Edit s -> EditM s r ()
+ Data.Text.Region: run :: (EditAction Replace s, ApplyMap r) => Edit s -> EditM s r ()
- Data.Text.Region: runGroup :: (EditAction Replace s, ApplyMap r) ⇒ [Edit s] -> EditM s r ()
+ Data.Text.Region: runGroup :: (EditAction Replace s, ApplyMap r) => [Edit s] -> EditM s r ()
- Data.Text.Region: run_ :: (EditAction Replace s, ApplyMap r) ⇒ Edit s -> EditM s r (ActionIso (Edit s))
+ Data.Text.Region: run_ :: (EditAction Replace s, ApplyMap r) => Edit s -> EditM s r (ActionIso (Edit s))
- Data.Text.Region: undo :: (EditAction Replace s, ApplyMap r) ⇒ EditM s r ()
+ Data.Text.Region: undo :: (EditAction Replace s, ApplyMap r) => EditM s r ()
- Data.Text.Region: updateMap :: (EditAction e s, ApplyMap a) ⇒ e s -> a -> a
+ Data.Text.Region: updateMap :: (EditAction e s, ApplyMap a) => e s -> a -> a
- Data.Text.Region.Types: action :: Lens' (ActionIso e_ai21) e_ai21
+ Data.Text.Region.Types: action :: forall e_aiNF. Lens' (ActionIso e_aiNF) e_aiNF
- Data.Text.Region.Types: actionBack :: Lens' (ActionIso e_ai21) e_ai21
+ Data.Text.Region.Types: actionBack :: forall e_aiNF. Lens' (ActionIso e_aiNF) e_aiNF
- Data.Text.Region.Types: by :: Editable a ⇒ a -> Contents a
+ Data.Text.Region.Types: by :: Editable a => a -> Contents a
- Data.Text.Region.Types: chain :: Iso (Chain e_ahQx s_ahQy) (Chain e_ai1S s_ai1T) [e_ahQx s_ahQy] [e_ai1S s_ai1T]
+ Data.Text.Region.Types: chain :: forall e_ai6C s_ai6D e_aiNw s_aiNx. Iso (Chain e_ai6C s_ai6D) (Chain e_aiNw s_aiNx) [e_ai6C s_ai6D] [e_aiNw s_aiNx]
- Data.Text.Region.Types: concatCts :: Monoid a ⇒ Contents a -> Contents a -> Contents a
+ Data.Text.Region.Types: concatCts :: Monoid a => Contents a -> Contents a -> Contents a
- Data.Text.Region.Types: contents :: (Editable a, Editable b) ⇒ Iso a b (Contents a) (Contents b)
+ Data.Text.Region.Types: contents :: (Editable a, Editable b) => Iso a b (Contents a) (Contents b)
- Data.Text.Region.Types: contentsLength :: Editable a ⇒ a -> Int
+ Data.Text.Region.Types: contentsLength :: Editable a => a -> Int
- Data.Text.Region.Types: editState :: Editable s ⇒ s -> r -> EditState s r
+ Data.Text.Region.Types: editState :: Editable s => s -> r -> EditState s r
- Data.Text.Region.Types: edited :: Lens' (EditState s_ai8t r_ai8u) (Contents s_ai8t)
+ Data.Text.Region.Types: edited :: forall s_aiUn r_aiUo. Lens' (EditState s_aiUn r_aiUo) (Contents s_aiUn)
- Data.Text.Region.Types: emptyContents :: Monoid a ⇒ Contents a
+ Data.Text.Region.Types: emptyContents :: Monoid a => Contents a
- Data.Text.Region.Types: history :: Lens' (EditState s_ai8t r_ai8u) (ActionStack (Edit s_ai8t))
+ Data.Text.Region.Types: history :: forall s_aiUn r_aiUo. Lens' (EditState s_aiUn r_aiUo) (ActionStack (Edit s_aiUn))
- Data.Text.Region.Types: joinLines :: Editable a ⇒ [a] -> a
+ Data.Text.Region.Types: joinLines :: Editable a => [a] -> a
- Data.Text.Region.Types: measure :: Editable s ⇒ Contents s -> Size
+ Data.Text.Region.Types: measure :: Editable s => Contents s -> Size
- Data.Text.Region.Types: redoStack :: Lens' (ActionStack e_ai4E) [ActionIso e_ai4E]
+ Data.Text.Region.Types: redoStack :: forall e_aiQs. Lens' (ActionStack e_aiQs) [ActionIso e_aiQs]
- Data.Text.Region.Types: regions :: Lens (EditState s_ai8t r_ai8u) (EditState s_ai8t r_aibo) r_ai8u r_aibo
+ Data.Text.Region.Types: regions :: forall s_aiUn r_aiUo r_aiXi. Lens (EditState s_aiUn r_aiUo) (EditState s_aiUn r_aiXi) r_aiUo r_aiXi
- Data.Text.Region.Types: replaceRegion :: Lens' (Replace s_ah9J) Region
+ Data.Text.Region.Types: replaceRegion :: forall s_ag2w. Lens' (Replace s_ag2w) Region
- Data.Text.Region.Types: replaceWith :: Lens (Replace s_ah9J) (Replace s_ahQj) (Contents s_ah9J) (Contents s_ahQj)
+ Data.Text.Region.Types: replaceWith :: forall s_ag2w s_ai6o. Lens (Replace s_ag2w) (Replace s_ai6o) (Contents s_ag2w) (Contents s_ai6o)
- Data.Text.Region.Types: splitContents :: Editable a ⇒ Int -> a -> (a, a)
+ Data.Text.Region.Types: splitContents :: Editable a => Int -> a -> (a, a)
- Data.Text.Region.Types: splitCts :: Editable a ⇒ Point -> Contents a -> (Contents a, Contents a)
+ Data.Text.Region.Types: splitCts :: Editable a => Point -> Contents a -> (Contents a, Contents a)
- Data.Text.Region.Types: splitLines :: Editable a ⇒ a -> [a]
+ Data.Text.Region.Types: splitLines :: Editable a => a -> [a]
- Data.Text.Region.Types: splitted :: Editable a ⇒ Point -> Iso' (Contents a) (Contents a, Contents a)
+ Data.Text.Region.Types: splitted :: Editable a => Point -> Iso' (Contents a) (Contents a, Contents a)
- Data.Text.Region.Types: undoStack :: Lens' (ActionStack e_ai4E) [ActionIso e_ai4E]
+ Data.Text.Region.Types: undoStack :: forall e_aiQs. Lens' (ActionStack e_aiQs) [ActionIso e_aiQs]
Files
- LICENSE +30/−0
- src/Data/Text/Region.hs +1/−1
- text-region.cabal +11/−5
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2013, Alexandr `Voidex` Ruchkin + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Alexandr `Voidex` Ruchkin nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
src/Data/Text/Region.hs view
@@ -176,7 +176,7 @@ edit_ txt rs = snd ∘ edit txt rs -- | Push action into history, also drops redo stack -push ∷ EditAction Replace s ⇒ ActionIso (Edit s) → EditM s r () +push ∷ ActionIso (Edit s) → EditM s r () push e = modify (over (history . undoStack) (e :)) >> modify (set (history . redoStack) []) -- | Run edit action and returns corresponding redo-undo action
text-region.cabal view
@@ -1,24 +1,30 @@ name: text-region -version: 0.1.0.0 -synopsis: Provides functions to update text region positions according to text edit actions +version: 0.1.0.1 +synopsis: Marking text regions +description: Provides functions to update text region positions according to text edit actions homepage: https://github.com/mvoidex/text-region license: BSD3 +license-file: LICENSE author: Alexandr `Voidex` Ruchkin maintainer: voidex@live.com category: Text build-type: Simple cabal-version: >=1.10 +source-repository head + type: git + location: git://github.com/mvoidex/text-region.git + library hs-source-dirs: src default-language: Haskell2010 - ghc-options: -threaded -Wall -fno-warn-tabs + ghc-options: -Wall -fno-warn-tabs default-extensions: UnicodeSyntax exposed-modules: Data.Text.Region Data.Text.Region.Types build-depends: - base >= 4.8 && < 4.9, + base >= 4.8 && < 5, base-unicode-symbols >= 0.2, aeson >= 0.9, bytestring >= 0.10, @@ -36,7 +42,7 @@ default-language: Haskell2010 default-extensions: UnicodeSyntax build-depends: - base >= 4.8 && < 4.9, + base >= 4.8 && < 5, base-unicode-symbols >= 0.2, text-region, hspec,