Git Product home page Git Product logo

cursor's Introduction

cursor's People

Contributors

chiroptical avatar norfairking avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cursor's Issues

Inaccurate version bounds and various compile failures in cursor-0.0.0.0

The cursor.cabal is lacking any meaningful bounds, i.e.

  build-depends:
      base <5
    , containers
    , microlens
    , text
    , validity
    , validity-containers
    , validity-text

this is causing the cursor-0.0.0.0 release to fail across the board for every GHC release from GHC 7.0 through GHC 8.6,

cursor

such as e.g.

Configuring library for cursor-0.0.0.0..
Preprocessing library for cursor-0.0.0.0..
Building library for cursor-0.0.0.0..
[ 1 of 25] Compiling Cursor.List      ( src/Cursor/List.hs, /tmp/matrix-worker/1538810588/dist-newstyle/build/x86_64-linux/ghc-8.6.1/cursor-0.0.0.0/build/Cursor/List.o )
[ 2 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, /tmp/matrix-worker/1538810588/dist-newstyle/build/x86_64-linux/ghc-8.6.1/cursor-0.0.0.0/build/Cursor/Map/KeyValue.o )
[ 3 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, /tmp/matrix-worker/1538810588/dist-newstyle/build/x86_64-linux/ghc-8.6.1/cursor-0.0.0.0/build/Cursor/Simple/Map/KeyValue.o )
[ 4 of 25] Compiling Cursor.Text      ( src/Cursor/Text.hs, /tmp/matrix-worker/1538810588/dist-newstyle/build/x86_64-linux/ghc-8.6.1/cursor-0.0.0.0/build/Cursor/Text.o )

src/Cursor/Text.hs:48:15: error:
    Variable not in scope:
      decorateList :: [Char] -> (Char -> Validation) -> Validation
   |
48 |             , decorateList (rebuildListCursor lc) $ \c ->
   |               ^^^^^^^^^^^^
<<ghc: 780418632 bytes, 135 GCs, 10621862/33138576 avg/max bytes residency (8 samples), 74M in use, 0.001 INIT (0.001 elapsed), 0.878 MUT (0.968 elapsed), 0.433 GC (0.436 elapsed) :ghc>>

or

Configuring library for cursor-0.0.0.0..
Preprocessing library for cursor-0.0.0.0..
Building library for cursor-0.0.0.0..
[ 1 of 25] Compiling Paths_cursor     ( /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/autogen/Paths_cursor.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Paths_cursor.o )
[ 2 of 25] Compiling Cursor.Types     ( src/Cursor/Types.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Types.o )
[ 3 of 25] Compiling Cursor.Tree.Types ( src/Cursor/Tree/Types.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Types.o )
[ 4 of 25] Compiling Cursor.Tree.Swap ( src/Cursor/Tree/Swap.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Swap.o )
[ 5 of 25] Compiling Cursor.Tree.Draw ( src/Cursor/Tree/Draw.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Draw.o )
[ 6 of 25] Compiling Cursor.Tree.Collapse ( src/Cursor/Tree/Collapse.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Collapse.o )
[ 7 of 25] Compiling Cursor.Tree.Base ( src/Cursor/Tree/Base.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Base.o )
[ 8 of 25] Compiling Cursor.Tree.Delete ( src/Cursor/Tree/Delete.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Delete.o )
[ 9 of 25] Compiling Cursor.Tree.Demote ( src/Cursor/Tree/Demote.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Demote.o )
[10 of 25] Compiling Cursor.Tree.Insert ( src/Cursor/Tree/Insert.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Insert.o )
[11 of 25] Compiling Cursor.Tree.Movement ( src/Cursor/Tree/Movement.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Movement.o )
[12 of 25] Compiling Cursor.Tree.Promote ( src/Cursor/Tree/Promote.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree/Promote.o )
[13 of 25] Compiling Cursor.Tree      ( src/Cursor/Tree.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Tree.o )
[14 of 25] Compiling Cursor.Simple.Tree ( src/Cursor/Simple/Tree.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Simple/Tree.o )
[15 of 25] Compiling Cursor.Map.KeyValue ( src/Cursor/Map/KeyValue.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Map/KeyValue.o )
[16 of 25] Compiling Cursor.Simple.Map.KeyValue ( src/Cursor/Simple/Map/KeyValue.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Simple/Map/KeyValue.o )
[17 of 25] Compiling Cursor.List.NonEmpty ( src/Cursor/List/NonEmpty.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/List/NonEmpty.o )
[18 of 25] Compiling Cursor.Map       ( src/Cursor/Map.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Map.o )
[19 of 25] Compiling Cursor.Simple.Map ( src/Cursor/Simple/Map.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Simple/Map.o )
[20 of 25] Compiling Cursor.Simple.List.NonEmpty ( src/Cursor/Simple/List/NonEmpty.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Simple/List/NonEmpty.o )
[21 of 25] Compiling Cursor.List      ( src/Cursor/List.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/List.o )
[22 of 25] Compiling Cursor.Text      ( src/Cursor/Text.hs, /tmp/matrix-worker/1538810940/dist-newstyle/build/x86_64-linux/ghc-8.0.2/cursor-0.0.0.0/build/Cursor/Text.o )

src/Cursor/Text.hs:48:15: error:
    Variable not in scope:
      decorateList :: [Char] -> (Char -> Validation) -> Validation
<<ghc: 5261571048 bytes, 526 GCs, 22353068/79148176 avg/max bytes residency (10 samples), 179M in use, 0.001 INIT (0.001 elapsed), 5.824 MUT (6.436 elapsed), 1.195 GC (1.197 elapsed) :ghc>>

or

Configuring library for cursor-0.0.0.0..
Preprocessing library for cursor-0.0.0.0..
Building library for cursor-0.0.0.0..

src/Cursor/Forest.hs:82:8:
    Could not find module ‘Data.List.NonEmpty’
    Perhaps you meant
      Data.List.Compat (needs flag -package base-compat-0.10.4)
    Use -v to see a list of the files searched for.

src/Cursor/Types.hs:10:8:
    Could not find module ‘Data.Functor.Compose’
    It is a member of the hidden package ‘transformers-0.5.5.0’.
    Perhaps you need to add ‘transformers’ to the build-depends in your .cabal file.
    It is a member of the hidden package ‘transformers-0.3.0.0’.
    Perhaps you need to add ‘transformers’ to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.

Note that this is also causing transitive failures for the cursor-gen-0.0.0.0 release:

cursor-gen

Please be aware that the Hackage ecosystem requires accurate metadata and in particular accurate version bounds to provide a good user experience to users of your package as well as avoid unnecessary overhead for Hackage Trustees.

As you seem to be using Stack, a simple way to accomplish this is via PR #6.

Please let me know if you have any questions.

cursor-gen-0.4.0.0: test/Cursor/ListSpec.hs:65:50: error: Variable not in scope: listCursorPrevUntil

In the Stackage Nightly build:

/var/stackage/work/unpack-dir/unpacked/cursor-gen-0.4.0.0-f7872b458923fc368d50773e159a46502e3bd7c095e2733d392c69b97a5561a9/test/Cursor/ListSpec.hs:65:50: error:             [101/177437]
    • Variable not in scope:                                                                                                        
        listCursorPrevUntil :: (a8 -> a8) -> a9 -> b3                                          
    • Perhaps you meant one of these:                                                          
        ‘listCursorPrevItem’ (imported from Cursor.List),
        ‘listCursorPrev’ (imported from Cursor.List)
   |                                                              
65 |     it "produces valid cursors" $ producesValid (listCursorPrevUntil @Bool id)                                                                                                         |                                                  ^^^^^^^^^^^^^^^^^^^                                                                                                                
                                                                                                                                                                                         /var/stackage/work/unpack-dir/unpacked/cursor-gen-0.4.0.0-f7872b458923fc368d50773e159a46502e3bd7c095e2733d392c69b97a5561a9/test/Cursor/ListSpec.hs:69:22: error:
    • Variable not in scope:                                                                                                        
        listCursorPrevUntil :: (a0 -> a0) -> a1 -> t                                                                                                                                     
    • Perhaps you meant one of these:                                                       
        ‘listCursorPrevItem’ (imported from Cursor.List),                                                                           
        ‘listCursorPrev’ (imported from Cursor.List)                                           
   |                                                                                           
69 |             result = listCursorPrevUntil @Bool predicate cursor                                                                                                                     
   |                      ^^^^^^^^^^^^^^^^^^^                                               
                                                                                                                                                                                         /var/stackage/work/unpack-dir/unpacked/cursor-gen-0.4.0.0-f7872b458923fc368d50773e159a46502e3bd7c095e2733d392c69b97a5561a9/test/Cursor/ListSpec.hs:74:50: error:
    • Variable not in scope:                                                                   
        listCursorNextUntil :: (a6 -> a6) -> a7 -> b2                                       
    • Perhaps you meant one of these:                                                                                                                                                    
        ‘listCursorNextItem’ (imported from Cursor.List),                                   
        ‘listCursorNext’ (imported from Cursor.List)                                        
   |                                          
74 |     it "produces valid cursors" $ producesValid (listCursorNextUntil @Bool id)                                                                                                      
   |                                                  ^^^^^^^^^^^^^^^^^^^                                                                                                                

/var/stackage/work/unpack-dir/unpacked/cursor-gen-0.4.0.0-f7872b458923fc368d50773e159a46502e3bd7c095e2733d392c69b97a5561a9/test/Cursor/ListSpec.hs:78:22: error:
    • Variable not in scope:                  
        listCursorNextUntil :: (a2 -> a2) -> a3 -> t                                        
    • Perhaps you meant one of these:                                                       
        ‘listCursorNextItem’ (imported from Cursor.List),                                   
        ‘listCursorNext’ (imported from Cursor.List)                                        
   |                                          
78 |             result = listCursorNextUntil @Bool predicate cursor                                                                                                                     
   |                      ^^^^^^^^^^^^^^^^^^^                                               

/var/stackage/work/unpack-dir/unpacked/cursor-gen-0.4.0.0-f7872b458923fc368d50773e159a46502e3bd7c095e2733d392c69b97a5561a9/test/Cursor/ListSpec.hs:101:30: error:
    • Variable not in scope: listCursorInsertList :: t1 -> a5 -> b1                                                                                                                      
    • Perhaps you meant ‘listCursorInsert’ (imported from Cursor.List)                                                                                                                   
    |                                                                                                                                                                         [58/177437]
101 |         \d -> producesValid (listCursorInsertList @Bool d)                            
    |                              ^^^^^^^^^^^^^^^^^^^^                                     

/var/stackage/work/unpack-dir/unpacked/cursor-gen-0.4.0.0-f7872b458923fc368d50773e159a46502e3bd7c095e2733d392c69b97a5561a9/test/Cursor/ListSpec.hs:105:30: error:
    • Variable not in scope: listCursorAppendList :: t0 -> a4 -> b0                                                                                                                      
    • Perhaps you meant ‘listCursorAppend’ (imported from Cursor.List)                                                                                                                   
    |                                         
105 |         \d -> producesValid (listCursorAppendList @Bool d)                            
    |                              ^^^^^^^^^^^^^^^^^^^^                                     

Add Comonad Instances

Not sure if you're open to adding comonads as a dependency, but it'd be great to have comonad instances for all the applicable types; would probably be a good Hacktoberfest issue if you're open to it 😄

A counter cursor for integers

The idea here is that sometimes a TUI wants to let the user select a number.
A regular text cursor will not do for this purpose, as-is, but a counter cursor should be easy enough to implement.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.