CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
complete.cpp
Go to the documentation of this file.
1 #include <iostream>
2 #include <iterator>
5 
6 using namespace CASM;
7 
8 namespace CASM {
9  namespace Completer {
11  Completer::Engine casm_engine;
12 
13  QueryOption dumbquery;
14  casm_engine.push_back(Option(dumbquery.tag(), dumbquery.desc()));
15 
16  MonteOption dumbmonte;
17  casm_engine.push_back(Option(dumbmonte.tag(), dumbmonte.desc()));
18 
19  RunOption dumbrun;
20  casm_engine.push_back(Option(dumbrun.tag(), dumbrun.desc()));
21 
22  BsetOption dumbbset;
23  casm_engine.push_back(Option(dumbbset.tag(), dumbbset.desc()));
24 
25  CompositionOption dumbcomposition;
26  casm_engine.push_back(Option(dumbcomposition.tag(), dumbcomposition.desc()));
27 
28  RefOption dumbref;
29  casm_engine.push_back(Option(dumbref.tag(), dumbref.desc()));
30 
31  FilesOption dumbfiles;
32  casm_engine.push_back(Option(dumbfiles.tag(), dumbfiles.desc()));
33 
34  FormatOption dumbformat;
35  casm_engine.push_back(Option(dumbformat.tag(), dumbformat.desc()));
36 
37  ImportOption dumbimport;
38  casm_engine.push_back(Option(dumbimport.tag(), dumbimport.desc()));
39 
40  InitOption dumbinit;
41  casm_engine.push_back(Option(dumbinit.tag(), dumbinit.desc()));
42 
43  PerturbOption dumbperturb;
44  casm_engine.push_back(Option(dumbperturb.tag(), dumbperturb.desc()));
45 
46  SelectOption dumbselect;
47  casm_engine.push_back(Option(dumbselect.tag(), dumbselect.desc()));
48 
49  SettingsOption dumbsettings;
50  casm_engine.push_back(Option(dumbsettings.tag(), dumbsettings.desc()));
51 
52  StatusOption dumbstatus;
53  casm_engine.push_back(Option(dumbstatus.tag(), dumbstatus.desc()));
54 
55  SuperOption dumbsuper;
56  casm_engine.push_back(Option(dumbsuper.tag(), dumbsuper.desc()));
57 
58  SymOption dumbsym;
59  casm_engine.push_back(Option(dumbsym.tag(), dumbsym.desc()));
60 
61  UpdateOption dumbupdate;
62  casm_engine.push_back(Option(dumbupdate.tag(), dumbupdate.desc()));
63 
64  ViewOption dumbview;
65  casm_engine.push_back(Option(dumbview.tag(), dumbview.desc()));
66 
67  EnumOption dumbenum;
68  casm_engine.push_back(Option(dumbenum.tag(), dumbenum.desc()));
69 
70  return casm_engine;
71  }
72  }
73 }
74 
75 int main(int argc, char *argv[]) {
76 
77 
79 
80 
81  if(argc == 1) {
82  std::cout << casm_engine.probe_options();
83  }
84 
85  if(argc == 2) {
86  std::cout << casm_engine.probe_suboptions(argv[1]);
87  }
88 
89  if(argc == 3) {
90  std::cout << casm_engine.probe_arguments(argv[1], argv[2]);
91  }
92 
93  return 0;
94 }
std::vector< std::string > probe_suboptions(const std::string &option_tag) const
For a particular option, get the available suboptions.
Definition: Complete.cc:174
Engine build_casm_engine()
Definition: complete.cpp:10
Main CASM namespace.
Definition: complete.cpp:8
int main(int argc, char *argv[])
Definition: complete.cpp:75
const po::options_description & desc()
Get the program options, filled with the initialized values.
Definition: Handlers.cc:160
std::vector< std::string > probe_options() const
Construct by passing boost program options (eventually preferred so that it can update itself) ...
Definition: Complete.cc:159
void push_back(const Option &new_option)
Guess what should be returned based on the current word (probably not gonna make it that smart) ...
Definition: Complete.cc:263
const std::string & tag() const
The desired name for the casm option (Perhaps this should get tied with CommandArg?)
Definition: Handlers.cc:140
std::vector< std::string > probe_arguments(const std::string &option_tag, const std::string &suboption_tag) const
Return the arguments that should be bash completed.
Definition: Complete.cc:191