Seagate / halon

High availability solution
Apache License 2.0
1 stars 0 forks source link

Options.Applicative.Extra: Add command', delete withDesc #1469

Closed 1468ca0b-2a64-4fb4-8e52-ea5806644b4c closed 6 years ago

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: vvv

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: chumakd

+1 for years range or comma separated list

2010, 2014, 2015
1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: andriytk

Which is probably the wrong approach also. See how other people do this in the world, outside of our small self-contented team.

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: mssawant

Okay. This makes sense.

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: vvv

It would be strange to add ‘h’ prefix to every Halon function. :) ‘h’ prefix of hsubparser stands for “helper”. The function comes from optparse-applicative package.

command' is defined in mero-halon package. It is a wrapper for command function, exported by optparse-applicative. There is no helper in it (contrast with the definition of hsubparser).

command' :: String -> O.Parser a -> String -> O.Mod O.CommandFields a
command' name p = O.command name . O.info p . O.progDesc

command' is slightly modified command. This is what prime (') suffix signifies. (Think derived from.)

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: mssawant

halon, same as hsubparser.

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: vvv

What would h stand for?

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: mssawant

how about hcommand ?

1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: vvv

For Mero we only update the year.

$ git grep -i -h copyright | sort | uniq -c | sort -nr | head -20
 362  * COPYRIGHT 2013 XYRATEX TECHNOLOGY LIMITED
 357  * COPYRIGHT 2012 XYRATEX TECHNOLOGY LIMITED
 140  * COPYRIGHT 2015 XYRATEX TECHNOLOGY LIMITED
 136  * COPYRIGHT 2016 XYRATEX TECHNOLOGY LIMITED
  96  * COPYRIGHT 2011 XYRATEX TECHNOLOGY LIMITED
  89  * COPYRIGHT 2017 XYRATEX TECHNOLOGY LIMITED
  75  * COPYRIGHT 2014 XYRATEX TECHNOLOGY LIMITED
  43  * COPYRIGHT 2016 SEAGATE LLC
  10  * Copyright 2009 ClusterStor.
  10  * COPYRIGHT 2014 XYRATEX TECHNOLOGY LIMITED, A SEAGATE COMPANY
   8  * COPYRIGHT 2017 SEAGATE LLC
   7  * COPYRIGHT 2017 SEAGATE TECHNOLOGY LIMITED
   5 Copyright \(C) 2013 Xyratex Technology Limited
   5  * COPYRIGHT 2014 SEAGATE LLC
   4 # COPYRIGHT 2012 XYRATEX TECHNOLOGY LIMITED
   4  * COPYRIGHT 2018 SEAGATE LLC
   3  * Copyright 2010 ClusterStor.
   3  * COPYRIGHT 2016 XYRATEX TECHNOLOGY LIMITED, A SEAGATE COMPANY
   2 $copyright_header
   2 # COPYRIGHT 2017 XYRATEX TECHNOLOGY LIMITED
1468ca0b-2a64-4fb4-8e52-ea5806644b4c commented 6 years ago

Created by: andriytk

The right approach would be to specify the years range probably: 2014-2018.