mirror of https://github.com/voidlizard/hbs2
wip, missed files
This commit is contained in:
parent
5a3900ad34
commit
83e4146d75
|
@ -266,10 +266,9 @@ cat_ metaOnly hash = do
|
||||||
delete :: FixmePerks m => Text -> FixmeM m ()
|
delete :: FixmePerks m => Text -> FixmeM m ()
|
||||||
delete txt = do
|
delete txt = do
|
||||||
acts <- asks fixmeEnvUpdateActions >>= readTVarIO
|
acts <- asks fixmeEnvUpdateActions >>= readTVarIO
|
||||||
void $ runMaybeT do
|
hashes <- selectFixmeHashes txt
|
||||||
ha <- toMPlus =<< lift (selectFixmeHash txt)
|
for_ hashes $ \ha -> do
|
||||||
lift $ insertFixmeDelStaged ha
|
insertFixmeDelStaged ha
|
||||||
|
|
||||||
|
|
||||||
modify_ :: FixmePerks m => Text -> String -> String -> FixmeM m ()
|
modify_ :: FixmePerks m => Text -> String -> String -> FixmeM m ()
|
||||||
modify_ txt a b = do
|
modify_ txt a b = do
|
||||||
|
@ -560,8 +559,8 @@ run what = do
|
||||||
|
|
||||||
compactStorageClose sto
|
compactStorageClose sto
|
||||||
|
|
||||||
ListVal [SymbolVal "git:merge",StringLike o, StringLike target, StringLike b] -> do
|
ListVal [SymbolVal "git:merge-binary-log",StringLike o, StringLike target, StringLike b] -> do
|
||||||
debug $ red "git:merge" <+> pretty o <+> pretty target <+> pretty b
|
debug $ red "git:merge-binary-log" <+> pretty o <+> pretty target <+> pretty b
|
||||||
|
|
||||||
temp <- liftIO $ emptyTempFile "." "merge-result"
|
temp <- liftIO $ emptyTempFile "." "merge-result"
|
||||||
sa <- compactStorageOpen @HbSync readonly o
|
sa <- compactStorageOpen @HbSync readonly o
|
||||||
|
@ -595,6 +594,9 @@ run what = do
|
||||||
ListVal [SymbolVal "builtin:clean-stage"] -> do
|
ListVal [SymbolVal "builtin:clean-stage"] -> do
|
||||||
cleanStage
|
cleanStage
|
||||||
|
|
||||||
|
ListVal [SymbolVal "builtin:drop-stage"] -> do
|
||||||
|
cleanStage
|
||||||
|
|
||||||
ListVal [SymbolVal "builtin:show-stage"] -> do
|
ListVal [SymbolVal "builtin:show-stage"] -> do
|
||||||
stage <- selectStage
|
stage <- selectStage
|
||||||
liftIO $ print $ vcat (fmap pretty stage)
|
liftIO $ print $ vcat (fmap pretty stage)
|
||||||
|
|
|
@ -6,6 +6,7 @@ module Fixme.State
|
||||||
, insertFixme
|
, insertFixme
|
||||||
, selectFixmeThin
|
, selectFixmeThin
|
||||||
, selectFixmeHash
|
, selectFixmeHash
|
||||||
|
, selectFixmeHashes
|
||||||
, selectFixme
|
, selectFixme
|
||||||
, deleteFixme
|
, deleteFixme
|
||||||
, updateFixme
|
, updateFixme
|
||||||
|
@ -223,6 +224,14 @@ createTables = do
|
||||||
)
|
)
|
||||||
select id as fixme, fixmekey, ts from rn
|
select id as fixme, fixmekey, ts from rn
|
||||||
where rn = 1
|
where rn = 1
|
||||||
|
and not exists (
|
||||||
|
select null
|
||||||
|
from fixmeattr a
|
||||||
|
join fixmedeleted d on d.id = a.fixme
|
||||||
|
where a.name = 'fixme-key'
|
||||||
|
and a.value = rn.fixmekey
|
||||||
|
)
|
||||||
|
|
||||||
|]
|
|]
|
||||||
|
|
||||||
|
|
||||||
|
@ -372,11 +381,12 @@ instance IsContext c => HasPredicate [Syntax c] where
|
||||||
{- HLINT ignore "Eta reduce" -}
|
{- HLINT ignore "Eta reduce" -}
|
||||||
|
|
||||||
selectFixmeHash :: (FixmePerks m) => Text -> FixmeM m (Maybe Text)
|
selectFixmeHash :: (FixmePerks m) => Text -> FixmeM m (Maybe Text)
|
||||||
selectFixmeHash what = withState do
|
selectFixmeHash what = listToMaybe <$> selectFixmeHashes what
|
||||||
|
|
||||||
|
selectFixmeHashes :: (FixmePerks m) => Text -> FixmeM m [Text]
|
||||||
|
selectFixmeHashes what = withState do
|
||||||
let w = what <> "%"
|
let w = what <> "%"
|
||||||
|
select @(Only Text)
|
||||||
r <- select @(Only Text)
|
|
||||||
[qc| select fixme
|
[qc| select fixme
|
||||||
from fixmejson
|
from fixmejson
|
||||||
where json_extract(json,'$."fixme-key"') like ?
|
where json_extract(json,'$."fixme-key"') like ?
|
||||||
|
@ -387,18 +397,6 @@ selectFixmeHash what = withState do
|
||||||
|] (w,w)
|
|] (w,w)
|
||||||
<&> fmap fromOnly
|
<&> fmap fromOnly
|
||||||
|
|
||||||
|
|
||||||
let rs = listToMaybe r
|
|
||||||
-- catMaybes [ (x,) <$> Text.length . view _1 <$> Text.commonPrefixes what x
|
|
||||||
-- | x <- r ]
|
|
||||||
-- & sortBy (comparing (Down . snd))
|
|
||||||
-- & headMay
|
|
||||||
-- & fmap fst
|
|
||||||
-- debug $ red "selectFixmeHash" <+> pretty r <+> pretty rs
|
|
||||||
|
|
||||||
pure rs
|
|
||||||
|
|
||||||
|
|
||||||
selectFixme :: FixmePerks m => Text -> FixmeM m (Maybe Fixme)
|
selectFixme :: FixmePerks m => Text -> FixmeM m (Maybe Fixme)
|
||||||
selectFixme txt = do
|
selectFixme txt = do
|
||||||
|
|
||||||
|
@ -595,7 +593,6 @@ cleanStage = withState do
|
||||||
transactional do
|
transactional do
|
||||||
update_ [qc|delete from fixmestagedel|]
|
update_ [qc|delete from fixmestagedel|]
|
||||||
update_ [qc|delete from fixmestagemod|]
|
update_ [qc|delete from fixmestagemod|]
|
||||||
pure ()
|
|
||||||
|
|
||||||
deleteFixme :: (FixmePerks m,MonadReader FixmeEnv m) => Text -> m ()
|
deleteFixme :: (FixmePerks m,MonadReader FixmeEnv m) => Text -> m ()
|
||||||
deleteFixme hash = withState do
|
deleteFixme hash = withState do
|
||||||
|
|
Loading…
Reference in New Issue