Commit Graph

146 Commits

Author SHA1 Message Date
Mark Harrah 213d995bb5 newline before JLine's above threshold prompt 2011-03-25 18:22:30 -04:00
Mark Harrah e498b9bd3a tab completion fixes and cleanup 2011-03-24 21:28:02 -04:00
Mark Harrah 69a04326b9 tab completion: print message when input is invalid 2011-03-24 21:28:02 -04:00
Mark Harrah 1dd4a1d1b1 tab completion: example-checking off by default, 'matches' convenience method 2011-03-24 21:28:02 -04:00
Mark Harrah 58473dedcb fix datatype parser on windows 2011-03-23 07:06:17 -04:00
Mark Harrah 1de086755b command logging through Streams, 'last' without a key to redisplay it 2011-03-21 20:26:04 -04:00
Mark Harrah 63b1c3441b work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah 37e24daebf use stable ordering for PathFinder.getFiles 2011-03-16 22:22:20 -04:00
Mark Harrah a2bbf741ad fix exception swallowing in IO.archive 2011-03-16 22:17:09 -04:00
Mark Harrah 10d2d4c14a readLines from URL 2011-03-13 21:32:38 -04:00
Mark Harrah c0c287d50e reintegrate history commands, add proper parsing for recursive commands 2011-03-11 16:52:44 -05:00
Mark Harrah 77092b7888 resolver keys, javaHome, scalaHome, and change Java source resolution
- rename resolvers to fullResolvers, baseResolvers to resolvers
- if set, use javaHome for compilation as well as running
- add scalaHome configuration for easily configuring scalaInstance
   for a local Scala installation
- no longer require source roots for Java sources.  Instead, resolve
   ambiguities by package name and then distance to root.  Common
   package suffixes in different directories within the same project
   are a potential problem.
2011-03-09 18:07:43 -05:00
Mark Harrah ea188e74cc success indication and timestamps for actions 2011-03-06 21:57:31 -05:00
Mark Harrah c505b01ba6 fix - error 2011-03-05 07:37:03 -05:00
Mark Harrah ec8c5434af jline support for 2.9 2011-03-05 05:58:10 -05:00
Mark Harrah 11c2b2239c continuous polling interval now in milliseconds 2011-03-01 08:51:14 -05:00
Mark Harrah 3922580c58 join for tasks and settings 2011-03-01 08:48:14 -05:00
Mark Harrah a68e4c74f9 updating more integration tests 2011-02-25 18:35:52 -05:00
Mark Harrah 329709c750 configurable shell prompt
for example:
 Command.ShellPrompt := {
   s => Project.extract(s).cid + "> "
 }
2011-02-21 19:35:05 -05:00
Mark Harrah 02d3c6bcad add 'seq' combinator that applies one or more parsers, collecting all valid results 2011-02-21 10:00:40 -05:00
Mark Harrah aadcd0c9fb tweak URI character class for improved completion 2011-02-19 15:29:51 -05:00
Mark Harrah 63c8fd715d make completion cross product lazier 2011-02-18 20:58:13 -05:00
Mark Harrah 6688918349 return position at which parsing fails 2011-02-18 20:57:39 -05:00
Mark Harrah a58781edd3 fix issue with updating a non-definitive setting 2011-02-15 18:43:44 -05:00
Mark Harrah c9b932acd1 cleanup/rework related to Settings/InputParser
- drop fillThis: handle in injectStreams instead
- simplify InputParser construction (at the expense of implementation simplicity)
- split out ScopeKey/initialization parts of Setting with separate Initialize trait
  + makes Apply obsolete
  + makes the Initialize trait properly composable
  + this allowed splitting the InputParser definition into
    an Initialize for parsing and one for the action
- implement test-only
- inject resolved scope
2011-02-11 20:22:17 -05:00
Mark Harrah 3895a7cb1e define IO.writeLines for a PrintWriter 2011-02-11 20:10:53 -05:00
Mark Harrah 10d48fd3fa add multi-directory versions of rebase and relativeTo 2011-02-10 08:14:51 -05:00
Mark Harrah 0ed1e8e894 fix lazyPathFinder to drop non-existing files 2011-02-10 08:14:24 -05:00
Mark Harrah 7efa007820 some more example tab completion combinators 2011-02-08 20:33:34 -05:00
Mark Harrah 06a346a543 'get' now shows defining scope, related definitions, dependencies 2011-02-06 11:33:56 -05:00
Mark Harrah c1cc482b94 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah eb10f7ee94 improve Setting construction
- make all constructing methods end in = for lowest precedence
- rename Scope constructing method 'apply' to 'in' to allow 'apply' to
    be used on single settings as well as tuples and 'in' reads better
2011-02-04 22:02:39 -05:00
Mark Harrah c9a6d2f6b0 session manipulation commands
save, clear, list, and remove session settings
2011-02-02 22:56:11 -05:00
Mark Harrah 9858c9b91d additional entry point in Hash 2011-02-02 19:25:56 -05:00
Mark Harrah 65b341cdf0 translate Uninitialized message to use 'display' 2011-01-31 18:16:25 -05:00
Mark Harrah 09efe98f8b KList updates
- exchange variance annotations on KList for a bounded existential
   in KList.toList
 - add foldr (reason for dropping variance annotations)
 - add functions stating equivalence between
   + KList[M,H :+: T] and KCons[H,T,M]
   + KList[M,HNil] and KNil
2011-01-28 21:07:29 -05:00
Mark Harrah f6abc17ddf convenience method on Settings to get all (Scope, AttributeKey[_]) pairs 2011-01-25 22:19:03 -05:00
Mark Harrah e739e74ff5 make Uri parser fail (instead of error) on malformed inputs 2011-01-25 22:18:18 -05:00
Mark Harrah 1b9b2481f4 split load-time project structure scope resolution into two phases
first phase resolves referenced build URIs as each build is loaded
second phase resolves references without an explicit project ID
  (this requires the whole structure to be known and this isn't available during the first phase)
setting resolution is unchanged (done after both phases)
2011-01-25 22:14:02 -05:00
Mark Harrah 837bb80d40 cleanup and fixes 2011-01-24 18:08:43 -05:00
Mark Harrah 2687836ca5 improve commands, proper build/project base resolution
finish alias support
better project printing in 'projects'
completion support for 'help'
resolve URIs in ProjectRef against base URI of defining build in keys and project relations
resolve base directories and record build URI in BuildUnit
preserve relative paths in File to URI conversion for later resolution
2011-01-23 22:34:17 -05:00
Mark Harrah 72261548ef use java.util.Linked* instead of scala's 2011-01-22 16:21:22 -05:00
Mark Harrah 784d83af17 make explicit the separation between parsing and execution
Parser[() => State] instead of Parser[State]
2011-01-22 15:01:10 -05:00
Mark Harrah c3a265dbd3 redo Command to use Parser
nested commands still need work
2011-01-22 14:01:59 -05:00
Mark Harrah 087bc569e0 multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah 7ced3c0406 fully-scoped Settings 2011-01-18 18:48:32 -05:00
Mark Harrah 6960d24158 part I of revised approach to commands/projects
no privileged project member of State
no separation of Command and Apply, so no pre-filtering on State
use entries in State attributes map instead of mixing in traits to project object:
  HistoryPath, Logger, Analysis, Navigate, Watch, TaskedKey
rework Navigation to be standalone instead of mixin
2011-01-18 18:48:32 -05:00
Mark Harrah 97951e8cf4 Remove obsolete comments 2011-01-18 18:43:58 -05:00
Mark Harrah ac70b45c1c update completion example with newer combinators 2011-01-18 18:43:17 -05:00
Mark Harrah 8af2a0b7e0 JLine integration for tab completion combinators 2011-01-18 18:07:48 -05:00