cli: make register-match a builtin command
This commit is contained in:
parent
bf99c74198
commit
89f694707b
@ -27,6 +27,7 @@ module Hledger.Cli.Commands (
|
||||
,module Hledger.Cli.Commands.Print
|
||||
,module Hledger.Cli.Commands.Printunique
|
||||
,module Hledger.Cli.Commands.Register
|
||||
,module Hledger.Cli.Commands.Registermatch
|
||||
,module Hledger.Cli.Commands.Stats
|
||||
)
|
||||
where
|
||||
@ -61,6 +62,7 @@ import Hledger.Cli.Commands.Prices
|
||||
import Hledger.Cli.Commands.Print
|
||||
import Hledger.Cli.Commands.Printunique
|
||||
import Hledger.Cli.Commands.Register
|
||||
import Hledger.Cli.Commands.Registermatch
|
||||
import Hledger.Cli.Commands.Stats
|
||||
|
||||
|
||||
|
||||
@ -1,46 +1,35 @@
|
||||
#!/usr/bin/env stack
|
||||
{- stack runghc --verbosity info
|
||||
--package hledger-lib
|
||||
--package hledger
|
||||
--package here
|
||||
--package text
|
||||
-}
|
||||
|
||||
{-# OPTIONS_GHC -Wno-missing-signatures -Wno-name-shadowing #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
|
||||
module Hledger.Cli.Commands.Registermatch (
|
||||
registermatchmode
|
||||
,registermatch
|
||||
)
|
||||
where
|
||||
|
||||
import Data.Char (toUpper)
|
||||
import Data.List
|
||||
import Data.String.Here
|
||||
import qualified Data.Text as T
|
||||
-- import System.Console.CmdArgs
|
||||
-- import System.Console.CmdArgs.Explicit
|
||||
|
||||
import Hledger
|
||||
import Hledger.Cli.CliOptions
|
||||
import Hledger.Cli ( withJournalDo, postingsReportAsText )
|
||||
import Hledger.Cli.Commands.Register
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
cmdmode = hledgerCommandMode
|
||||
registermatchmode = hledgerCommandMode
|
||||
[here| register-match
|
||||
A helper for ledger-autosync. This prints the one posting whose transaction
|
||||
description is closest to DESC, in the style of the register command.
|
||||
Print the one posting whose transaction description is closest to DESC,
|
||||
in the style of the register command.
|
||||
If there are multiple equally good matches, it shows the most recent.
|
||||
Query options (options, not arguments) can be used to restrict the search space.
|
||||
Helps ledger-autosync detect already-seen transactions when importing.
|
||||
|]
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
[]
|
||||
([], Nothing)
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
main = do
|
||||
opts <- getHledgerCliOpts cmdmode
|
||||
withJournalDo opts match
|
||||
|
||||
match :: CliOpts -> Journal -> IO ()
|
||||
match opts@CliOpts{rawopts_=rawopts,reportopts_=ropts} j = do
|
||||
registermatch :: CliOpts -> Journal -> IO ()
|
||||
registermatch opts@CliOpts{rawopts_=rawopts,reportopts_=ropts} j = do
|
||||
let args' = listofstringopt "args" rawopts
|
||||
case args' of
|
||||
[desc] -> do
|
||||
@ -89,11 +89,6 @@ is an old pie chart generator, in need of some love.
|
||||
[hledger-check.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-check.hs)
|
||||
checks more powerful account balance assertions.
|
||||
|
||||
### register-match
|
||||
|
||||
[hledger-register-match.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-register-match.hs#L23)
|
||||
helps ledger-autosync detect already-seen transactions when importing.
|
||||
|
||||
### rewrite
|
||||
|
||||
[hledger-rewrite.hs](https://github.com/simonmichael/hledger/blob/master/bin/hledger-rewrite.hs#L28)
|
||||
|
||||
@ -680,6 +680,11 @@ The register command also supports the
|
||||
`-o/--output-file` and `-O/--output-format` options for controlling
|
||||
[output destination](#output-destination) and [CSV output](#csv-output).
|
||||
|
||||
## register-match
|
||||
Print the one posting whose transaction description is closest to DESC,
|
||||
in the style of the register command.
|
||||
Helps ledger-autosync detect already-seen transactions when importing.
|
||||
|
||||
## stats
|
||||
Show some journal statistics.
|
||||
|
||||
|
||||
@ -136,7 +136,9 @@ library
|
||||
Hledger.Cli.Commands.Incomestatement
|
||||
Hledger.Cli.Commands.Prices
|
||||
Hledger.Cli.Commands.Print
|
||||
Hledger.Cli.Commands.Printunique
|
||||
Hledger.Cli.Commands.Register
|
||||
Hledger.Cli.Commands.Registermatch
|
||||
Hledger.Cli.Commands.Stats
|
||||
Hledger.Cli.CompoundBalanceCommand
|
||||
Text.Tabular.AsciiWide
|
||||
|
||||
@ -119,6 +119,7 @@ library:
|
||||
- Hledger.Cli.Commands.Print
|
||||
- Hledger.Cli.Commands.Printunique
|
||||
- Hledger.Cli.Commands.Register
|
||||
- Hledger.Cli.Commands.Registermatch
|
||||
- Hledger.Cli.Commands.Stats
|
||||
- Hledger.Cli.CompoundBalanceCommand
|
||||
- Text.Tabular.AsciiWide
|
||||
|
||||
Loading…
Reference in New Issue
Block a user