taskjuggler 3.3.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +35 -0
- data/data/tjp.vim +21 -7
- data/lib/taskjuggler/Allocation.rb +27 -3
- data/lib/taskjuggler/Attributes.rb +3 -2
- data/lib/taskjuggler/HTMLDocument.rb +3 -1
- data/lib/taskjuggler/KateSyntax.rb +213 -0
- data/lib/taskjuggler/Limits.rb +22 -0
- data/lib/taskjuggler/Log.rb +1 -1
- data/lib/taskjuggler/MessageHandler.rb +20 -10
- data/lib/taskjuggler/PTNProxy.rb +6 -1
- data/lib/taskjuggler/Project.rb +10 -4
- data/lib/taskjuggler/ProjectFileParser.rb +1 -2
- data/lib/taskjuggler/ProjectFileScanner.rb +41 -42
- data/lib/taskjuggler/ResourceScenario.rb +41 -1
- data/lib/taskjuggler/RichText/Element.rb +8 -0
- data/lib/taskjuggler/RichText/Parser.rb +1 -1
- data/lib/taskjuggler/RichText/RTFReportLink.rb +20 -10
- data/lib/taskjuggler/RichText/Scanner.rb +54 -38
- data/lib/taskjuggler/RichText/SyntaxRules.rb +12 -0
- data/lib/taskjuggler/SheetReceiver.rb +1 -1
- data/lib/taskjuggler/TableColumnDefinition.rb +5 -1
- data/lib/taskjuggler/TaskJuggler.rb +2 -2
- data/lib/taskjuggler/TaskScenario.rb +117 -33
- data/lib/taskjuggler/TextParser.rb +2 -4
- data/lib/taskjuggler/TextParser/MacroTable.rb +7 -0
- data/lib/taskjuggler/TextParser/Scanner.rb +10 -9
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/lib/taskjuggler/TjTime.rb +5 -28
- data/lib/taskjuggler/TjpSyntaxRules.rb +85 -13
- data/lib/taskjuggler/UTF8String.rb +5 -0
- data/lib/taskjuggler/XMLElement.rb +2 -1
- data/lib/taskjuggler/apps/Tj3.rb +29 -5
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -1
- data/lib/taskjuggler/daemon/ProjectServer.rb +5 -2
- data/lib/taskjuggler/daemon/ReportServer.rb +7 -4
- data/lib/taskjuggler/reports/AccountListRE.rb +2 -0
- data/lib/taskjuggler/reports/CSVFile.rb +24 -2
- data/lib/taskjuggler/reports/GanttChart.rb +3 -2
- data/lib/taskjuggler/reports/GanttHeader.rb +18 -18
- data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -1
- data/lib/taskjuggler/reports/MspXmlRE.rb +5 -1
- data/lib/taskjuggler/reports/Report.rb +29 -18
- data/lib/taskjuggler/reports/ReportTable.rb +5 -1
- data/lib/taskjuggler/reports/ReportTableCell.rb +16 -10
- data/lib/taskjuggler/reports/ResourceListRE.rb +2 -0
- data/lib/taskjuggler/reports/TableReport.rb +23 -16
- data/lib/taskjuggler/reports/TaskListRE.rb +2 -0
- data/lib/taskjuggler/reports/TraceReport.rb +1 -1
- data/manual/Installation +5 -1
- data/manual/Intro +1 -0
- data/manual/Rich_Text_Attributes +5 -0
- data/manual/TaskJuggler_Internals +82 -34
- data/manual/Tutorial +1 -1
- data/manual/html/Day_To_Day_Juggling.html +1 -1
- data/manual/html/Getting_Started.html +1 -1
- data/manual/html/How_To_Contribute.html +1 -1
- data/manual/html/Installation.html +3 -2
- data/manual/html/Intro.html +2 -1
- data/manual/html/Reporting_Bugs.html +1 -1
- data/manual/html/Rich_Text_Attributes.html +2 -1
- data/manual/html/Software.html +1 -1
- data/manual/html/TaskJuggler_2x_Migration.html +1 -1
- data/manual/html/TaskJuggler_Internals.html +15 -13
- data/manual/html/The_TaskJuggler_Syntax.html +1 -1
- data/manual/html/Tutorial.html +2 -2
- data/manual/html/account.html +1 -1
- data/manual/html/account.task.html +1 -1
- data/manual/html/accountprefix.html +1 -1
- data/manual/html/accountreport.html +14 -2
- data/manual/html/accountroot.html +1 -1
- data/manual/html/active.html +1 -1
- data/manual/html/adopt.task.html +1 -1
- data/manual/html/aggregate.html +1 -1
- data/manual/html/alert.html +1 -1
- data/manual/html/alertlevels.html +1 -1
- data/manual/html/allocate.html +1 -1
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +1 -1
- data/manual/html/author.html +3 -3
- data/manual/html/auxdir.html +69 -0
- data/manual/html/balance.html +3 -3
- data/manual/html/booking.resource.html +1 -1
- data/manual/html/booking.task.html +1 -1
- data/manual/html/caption.html +1 -1
- data/manual/html/cellcolor.column.html +1 -1
- data/manual/html/celltext.column.html +1 -1
- data/manual/html/center.html +1 -1
- data/manual/html/charge.html +1 -1
- data/manual/html/chargeset.html +1 -1
- data/manual/html/columnid.html +21 -9
- data/manual/html/columns.html +2 -2
- data/manual/html/complete.html +1 -1
- data/manual/html/copyright.html +1 -1
- data/manual/html/credits.html +1 -1
- data/manual/html/currency.html +1 -1
- data/manual/html/currencyformat.html +1 -1
- data/manual/html/dailymax.html +1 -1
- data/manual/html/dailymin.html +1 -1
- data/manual/html/dailyworkinghours.html +1 -1
- data/manual/html/date.extend.html +1 -1
- data/manual/html/date.html +1 -1
- data/manual/html/definitions.html +1 -1
- data/manual/html/depends.html +1 -1
- data/manual/html/details.html +1 -1
- data/manual/html/disabled.html +1 -1
- data/manual/html/duration.html +1 -1
- data/manual/html/efficiency.html +1 -1
- data/manual/html/effort.html +1 -1
- data/manual/html/email.html +1 -1
- data/manual/html/enabled.html +1 -1
- data/manual/html/end.column.html +1 -1
- data/manual/html/end.html +1 -1
- data/manual/html/end.limit.html +1 -1
- data/manual/html/end.report.html +1 -1
- data/manual/html/end.timesheet.html +1 -1
- data/manual/html/endcredit.html +1 -1
- data/manual/html/epilog.html +1 -1
- data/manual/html/export.html +1 -1
- data/manual/html/extend.html +1 -1
- data/manual/html/fail.html +1 -1
- data/manual/html/fdl.html +1 -1
- data/manual/html/flags.account.html +1 -1
- data/manual/html/flags.html +1 -1
- data/manual/html/flags.journalentry.html +1 -1
- data/manual/html/flags.report.html +1 -1
- data/manual/html/flags.resource.html +1 -1
- data/manual/html/flags.statussheet.html +1 -1
- data/manual/html/flags.task.html +1 -1
- data/manual/html/flags.timesheet.html +1 -1
- data/manual/html/fontcolor.column.html +1 -1
- data/manual/html/footer.html +1 -1
- data/manual/html/formats.export.html +1 -1
- data/manual/html/formats.html +1 -1
- data/manual/html/functions.html +1 -1
- data/manual/html/gapduration.html +1 -1
- data/manual/html/gaplength.html +1 -1
- data/manual/html/halign.center.html +1 -1
- data/manual/html/halign.column.html +1 -1
- data/manual/html/halign.left.html +1 -1
- data/manual/html/halign.right.html +1 -1
- data/manual/html/hasalert.html +1 -1
- data/manual/html/header.html +1 -1
- data/manual/html/headline.html +1 -1
- data/manual/html/height.html +1 -1
- data/manual/html/hideaccount.html +1 -1
- data/manual/html/hidejournalentry.html +1 -1
- data/manual/html/hidereport.html +1 -1
- data/manual/html/hideresource.html +1 -1
- data/manual/html/hidetask.html +1 -1
- data/manual/html/icalreport.html +1 -1
- data/manual/html/include.macro.html +1 -1
- data/manual/html/include.project.html +1 -1
- data/manual/html/include.properties.html +1 -1
- data/manual/html/index.html +1 -1
- data/manual/html/inherit.extend.html +1 -1
- data/manual/html/interval1.html +1 -1
- data/manual/html/interval2.html +1 -1
- data/manual/html/interval3.html +1 -1
- data/manual/html/interval4.html +1 -1
- data/manual/html/isactive.html +1 -1
- data/manual/html/ischildof.html +1 -1
- data/manual/html/isdependencyof.html +1 -1
- data/manual/html/isdutyof.html +1 -1
- data/manual/html/isfeatureof.html +1 -1
- data/manual/html/isleaf.html +1 -1
- data/manual/html/ismilestone.html +1 -1
- data/manual/html/isongoing.html +1 -1
- data/manual/html/isresource.html +1 -1
- data/manual/html/isresponsibilityof.html +1 -1
- data/manual/html/istask.html +1 -1
- data/manual/html/journalattributes.html +1 -1
- data/manual/html/journalentry.html +1 -1
- data/manual/html/journalmode.html +1 -1
- data/manual/html/leaveallowance.html +1 -1
- data/manual/html/leaves.html +1 -1
- data/manual/html/left.html +1 -1
- data/manual/html/length.html +1 -1
- data/manual/html/limits.allocate.html +1 -1
- data/manual/html/limits.html +1 -1
- data/manual/html/limits.resource.html +1 -1
- data/manual/html/limits.task.html +1 -1
- data/manual/html/listitem.column.html +1 -1
- data/manual/html/listtype.column.html +1 -1
- data/manual/html/loadunit.html +1 -1
- data/manual/html/logicalexpression.html +1 -1
- data/manual/html/logicalflagexpression.html +1 -1
- data/manual/html/macro.html +1 -1
- data/manual/html/managers.html +1 -1
- data/manual/html/mandatory.html +1 -1
- data/manual/html/maxend.html +1 -1
- data/manual/html/maximum.html +1 -1
- data/manual/html/maxstart.html +1 -1
- data/manual/html/milestone.html +1 -1
- data/manual/html/minend.html +1 -1
- data/manual/html/minimum.html +1 -1
- data/manual/html/minstart.html +1 -1
- data/manual/html/monthlymax.html +1 -1
- data/manual/html/monthlymin.html +1 -1
- data/manual/html/navbar.html +9 -1
- data/manual/html/navigator.html +1 -1
- data/manual/html/newtask.html +1 -1
- data/manual/html/nikureport.html +1 -1
- data/manual/html/note.task.html +1 -1
- data/manual/html/now.html +1 -1
- data/manual/html/numberformat.html +1 -1
- data/manual/html/onend.html +1 -1
- data/manual/html/onstart.html +1 -1
- data/manual/html/opennodes.html +1 -1
- data/manual/html/overtime.booking.html +1 -1
- data/manual/html/period.column.html +1 -1
- data/manual/html/period.limit.html +1 -1
- data/manual/html/period.report.html +1 -1
- data/manual/html/period.task.html +1 -1
- data/manual/html/persistent.html +1 -1
- data/manual/html/precedes.html +1 -1
- data/manual/html/priority.html +1 -1
- data/manual/html/priority.timesheet.html +1 -1
- data/manual/html/project.html +1 -1
- data/manual/html/projectid.html +1 -1
- data/manual/html/projectid.task.html +1 -1
- data/manual/html/projectids.html +1 -1
- data/manual/html/projection.html +1 -1
- data/manual/html/prolog.html +1 -1
- data/manual/html/properties.html +1 -1
- data/manual/html/purge.html +1 -1
- data/manual/html/rate.html +1 -1
- data/manual/html/rate.resource.html +3 -3
- data/manual/html/rawhtmlhead.html +68 -0
- data/manual/html/reference.extend.html +3 -3
- data/manual/html/remaining.html +1 -1
- data/manual/html/replace.html +1 -1
- data/manual/html/reportprefix.html +1 -1
- data/manual/html/resource.html +1 -1
- data/manual/html/resourceattributes.html +1 -1
- data/manual/html/resourceprefix.html +1 -1
- data/manual/html/resourcereport.html +14 -2
- data/manual/html/resourceroot.html +1 -1
- data/manual/html/resources.limit.html +1 -1
- data/manual/html/responsible.html +1 -1
- data/manual/html/richtext.extend.html +1 -1
- data/manual/html/right.html +1 -1
- data/manual/html/rollupaccount.html +1 -1
- data/manual/html/rollupresource.html +1 -1
- data/manual/html/rolluptask.html +1 -1
- data/manual/html/scale.column.html +1 -1
- data/manual/html/scenario.html +1 -1
- data/manual/html/scenario.ical.html +1 -1
- data/manual/html/scenarios.export.html +1 -1
- data/manual/html/scenarios.html +1 -1
- data/manual/html/scenariospecific.extend.html +1 -1
- data/manual/html/scheduled.html +1 -1
- data/manual/html/scheduling.html +2 -1
- data/manual/html/select.html +1 -1
- data/manual/html/selfcontained.html +1 -1
- data/manual/html/shift.allocate.html +1 -1
- data/manual/html/shift.html +1 -1
- data/manual/html/shift.resource.html +1 -1
- data/manual/html/shift.task.html +1 -1
- data/manual/html/shift.timesheet.html +1 -1
- data/manual/html/shifts.allocate.html +1 -1
- data/manual/html/shifts.resource.html +1 -1
- data/manual/html/shifts.task.html +1 -1
- data/manual/html/shorttimeformat.html +1 -1
- data/manual/html/sloppy.booking.html +1 -1
- data/manual/html/sloppy.projection.html +1 -1
- data/manual/html/sortaccounts.html +1 -1
- data/manual/html/sortjournalentries.html +1 -1
- data/manual/html/sortresources.html +1 -1
- data/manual/html/sorttasks.html +1 -1
- data/manual/html/start.column.html +1 -1
- data/manual/html/start.html +1 -1
- data/manual/html/start.limit.html +1 -1
- data/manual/html/start.report.html +1 -1
- data/manual/html/startcredit.html +1 -1
- data/manual/html/status.statussheet.html +1 -1
- data/manual/html/status.timesheet.html +1 -1
- data/manual/html/statussheet.html +1 -1
- data/manual/html/statussheetreport.html +1 -1
- data/manual/html/strict.projection.html +1 -1
- data/manual/html/summary.html +1 -1
- data/manual/html/supplement.html +1 -1
- data/manual/html/supplement.resource.html +1 -1
- data/manual/html/supplement.task.html +1 -1
- data/manual/html/tagfile.html +2 -2
- data/manual/html/task.html +1 -1
- data/manual/html/task.statussheet.html +1 -1
- data/manual/html/task.timesheet.html +1 -1
- data/manual/html/taskattributes.html +1 -1
- data/manual/html/taskprefix.html +1 -1
- data/manual/html/taskreport.html +14 -2
- data/manual/html/taskroot.export.html +1 -1
- data/manual/html/taskroot.html +1 -1
- data/manual/html/text.extend.html +1 -1
- data/manual/html/textreport.html +14 -2
- data/manual/html/timeformat.html +3 -3
- data/manual/html/timeformat1.html +67 -0
- data/manual/html/timeformat2.html +67 -0
- data/manual/html/timeoff.nikureport.html +3 -3
- data/manual/html/timesheet.html +1 -1
- data/manual/html/timesheetreport.html +1 -1
- data/manual/html/timezone.export.html +1 -1
- data/manual/html/timezone.html +1 -1
- data/manual/html/timezone.report.html +1 -1
- data/manual/html/timezone.shift.html +1 -1
- data/manual/html/timingresolution.html +1 -1
- data/manual/html/title.column.html +1 -1
- data/manual/html/title.html +1 -1
- data/manual/html/toc.html +270 -242
- data/manual/html/tooltip.column.html +1 -1
- data/manual/html/tracereport.html +14 -2
- data/manual/html/trackingscenario.html +1 -1
- data/manual/html/treelevel.html +1 -1
- data/manual/html/vacation.html +1 -1
- data/manual/html/vacation.resource.html +1 -1
- data/manual/html/vacation.shift.html +1 -1
- data/manual/html/warn.html +1 -1
- data/manual/html/weeklymax.html +1 -1
- data/manual/html/weeklymin.html +1 -1
- data/manual/html/weekstartsmonday.html +1 -1
- data/manual/html/weekstartssunday.html +1 -1
- data/manual/html/width.column.html +1 -1
- data/manual/html/width.html +1 -1
- data/manual/html/work.html +1 -1
- data/manual/html/workinghours.project.html +1 -1
- data/manual/html/workinghours.resource.html +1 -1
- data/manual/html/workinghours.shift.html +1 -1
- data/manual/html/yearlyworkingdays.html +1 -1
- data/tasks/kate.rake +8 -0
- data/test/TestSuite/HTML-Reports/Calendars.tjp +10 -0
- data/test/TestSuite/Scheduler/Correct/PersistentResources-2.tjp +33 -0
- data/test/TestSuite/Scheduler/Correct/PersistentResources.tjp +30 -0
- data/test/TestSuite/Scheduler/Correct/PriorityInversion.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Macro-4.tjp +4 -0
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/test_BatchProcessor.rb +1 -1
- data/test/test_CSVFile.rb +10 -0
- data/test/test_RichText.rb +20 -0
- metadata +38 -9
data/CHANGELOG
CHANGED
@@ -1,3 +1,38 @@
|
|
1
|
+
= Release 3.4.0 (2012-12-17)
|
2
|
+
|
3
|
+
== New Features
|
4
|
+
|
5
|
+
* 'auxdir' can be used to specify alterntive path to CSS and script files.
|
6
|
+
* Trace file reader can now deal with Open/LibreOffice generated files.
|
7
|
+
* Add timefomat1 and timeformat2 attributes to set calendar column headers.
|
8
|
+
* Add report columns 'scheduling' to show the scheduling mode of leaf tasks.
|
9
|
+
* Priority inversions now generate a warning.
|
10
|
+
* 'competitors' and 'competitorcount' columns added.
|
11
|
+
* Better documentation of the task scheduler in the user manual.
|
12
|
+
* Support raw HTML fragments inlined into rich text strings.
|
13
|
+
* Added 'rawhtmlhead' attribute to insert HTML fragments into the HTML head section.
|
14
|
+
* Major performance improvements for reports using targets and inputs.
|
15
|
+
* Adding --report and --reports option to tj3.
|
16
|
+
|
17
|
+
== Bug Fixes
|
18
|
+
|
19
|
+
* Don't crash on files with bad file encodings.
|
20
|
+
* 'tagfile' cannot work without a file name.
|
21
|
+
* Report correct line number for errors at end of master file.
|
22
|
+
* Don't crash when adopting a top-level task.
|
23
|
+
* Don't put -bookings.tji file in -o directory.
|
24
|
+
* MS Project XML files respect the 'screnarios' setting now.
|
25
|
+
* Timesheet reports are now based on the 'trackingscenario' instead of the top-level.
|
26
|
+
* Make <-reportlink ...-> work with otherwise empty strings.
|
27
|
+
* Handle *prefix settings properly across nested include files.
|
28
|
+
* Properly export working hours that are not hour-aligned.
|
29
|
+
* Fix link to generated tutorial reports.
|
30
|
+
* Add requirement for >= Ruby 1.9.2 for non-ASCII users.
|
31
|
+
* Undefined macros ${?foo} now work with TJ3.
|
32
|
+
* Improving the heuristic to select a persistent resource from a set of alternatives.
|
33
|
+
* Ensure that resource load bars in Gantt charts have at least a 1px width
|
34
|
+
|
35
|
+
|
1
36
|
= Release 3.3.0 (2012-07-22)
|
2
37
|
|
3
38
|
== New Features
|
data/data/tjp.vim
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
" Vim syntax file
|
2
2
|
" Language: TaskJuggler
|
3
3
|
" Maintainer: TaskJuggler Developers <taskjuggler-devel@googlegroups.com>
|
4
|
-
" Last Change: 2012-
|
4
|
+
" Last Change: 2012-12-17 14:49:02 +0100
|
5
5
|
" This file was automatically generated by VimSyntax.rb
|
6
6
|
|
7
7
|
if exists("b:current_syntax")
|
@@ -102,6 +102,10 @@ syn keyword tjp_columnid_chart chart
|
|
102
102
|
hi def link tjp_columnid_chart Type
|
103
103
|
syn keyword tjp_columnid_closedtasks closedtasks
|
104
104
|
hi def link tjp_columnid_closedtasks Type
|
105
|
+
syn keyword tjp_columnid_competitorcount competitorcount
|
106
|
+
hi def link tjp_columnid_competitorcount Type
|
107
|
+
syn keyword tjp_columnid_competitors competitors
|
108
|
+
hi def link tjp_columnid_competitors Type
|
105
109
|
syn keyword tjp_columnid_complete complete
|
106
110
|
hi def link tjp_columnid_complete Type
|
107
111
|
syn keyword tjp_columnid_completed completed
|
@@ -204,6 +208,8 @@ syn keyword tjp_columnid_revenue revenue
|
|
204
208
|
hi def link tjp_columnid_revenue Type
|
205
209
|
syn keyword tjp_columnid_scenario scenario
|
206
210
|
hi def link tjp_columnid_scenario Type
|
211
|
+
syn keyword tjp_columnid_scheduling scheduling
|
212
|
+
hi def link tjp_columnid_scheduling Type
|
207
213
|
syn keyword tjp_columnid_seqno seqno
|
208
214
|
hi def link tjp_columnid_seqno Type
|
209
215
|
syn keyword tjp_columnid_sickleave sickleave
|
@@ -244,6 +250,10 @@ syn keyword tjp_scale_column scale contained
|
|
244
250
|
hi def link tjp_scale_column Type
|
245
251
|
syn keyword tjp_start_column start contained
|
246
252
|
hi def link tjp_start_column Type
|
253
|
+
syn keyword tjp_timeformat1 timeformat1 contained
|
254
|
+
hi def link tjp_timeformat1 Type
|
255
|
+
syn keyword tjp_timeformat2 timeformat2 contained
|
256
|
+
hi def link tjp_timeformat2 Type
|
247
257
|
syn keyword tjp_title_column title contained
|
248
258
|
hi def link tjp_title_column Type
|
249
259
|
syn keyword tjp_tooltip_column tooltip contained
|
@@ -426,6 +436,8 @@ syn keyword tjp_purge purge contained
|
|
426
436
|
hi def link tjp_purge Type
|
427
437
|
syn keyword tjp_accountroot accountroot contained
|
428
438
|
hi def link tjp_accountroot Type
|
439
|
+
syn keyword tjp_auxdir auxdir contained
|
440
|
+
hi def link tjp_auxdir Type
|
429
441
|
syn keyword tjp_caption caption contained
|
430
442
|
hi def link tjp_caption Type
|
431
443
|
syn keyword tjp_center center contained
|
@@ -450,6 +462,8 @@ syn keyword tjp_opennodes opennodes contained
|
|
450
462
|
hi def link tjp_opennodes Type
|
451
463
|
syn keyword tjp_prolog prolog contained
|
452
464
|
hi def link tjp_prolog Type
|
465
|
+
syn keyword tjp_rawhtmlhead rawhtmlhead contained
|
466
|
+
hi def link tjp_rawhtmlhead Type
|
453
467
|
syn keyword tjp_right right contained
|
454
468
|
hi def link tjp_right Type
|
455
469
|
syn keyword tjp_scenarios scenarios contained
|
@@ -625,7 +639,7 @@ syn match tjptime /\s\d\{1,2}:\d\d\(:\d\d\)\?/
|
|
625
639
|
|
626
640
|
syn cluster tjpcommon contains=tjpcomment,tjpdate,tjptime,tjpstring,tjpnumber
|
627
641
|
syn region tjpblk_account start=/^\s*account\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_account,tjp_account,tjpblk_account,tjp_aggregate,tjp_credits,tjp_flags_account
|
628
|
-
syn region tjpblk_accountreport start=/^\s*accountreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_accountreport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
642
|
+
syn region tjpblk_accountreport start=/^\s*accountreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_accountreport,tjp_accountroot,tjp_auxdir,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
629
643
|
syn region tjpblk_allocate start=/^\s*allocate\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_allocate,tjp_alternative,tjp_select,tjp_persistent,tjp_mandatory,tjp_shifts_allocate contained
|
630
644
|
syn region tjpblk_export start=/^\s*export\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_export,tjp_definitions,tjp_formats_export,tjp_hideresource,tjp_hidetask,tjp_loadunit,tjp_purge,tjp_end_report,tjp_period_report,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_start_report,tjp_resourceattributes,tjp_rollupresource,tjp_rolluptask,tjp_scenarios_export,tjp_taskattributes,tjp_taskroot_export,tjp_timezone_export
|
631
645
|
syn region tjpblk_date_extend start=/^\s*date\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_date_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained
|
@@ -648,10 +662,10 @@ syn region tjpblk_extend start=/^\s*extend\s.*{\s*$/ end=/^\s*}\s*$/ transparent
|
|
648
662
|
syn region tjpblk_project start=/^\s*project\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_project,tjp_alertlevels,tjp_currencyformat,tjp_currency,tjp_dailyworkinghours,tjp_extend,tjpblk_extend,tjp_include_project,tjp_journalentry,tjpblk_journalentry,tjp_now,tjp_numberformat,tjp_scenario,tjpblk_scenario,tjp_shorttimeformat,tjp_timeformat,tjp_timezone,tjp_timingresolution,tjp_trackingscenario,tjp_weekstartsmonday,tjp_weekstartssunday,tjp_workinghours_project,tjp_yearlyworkingdays
|
649
663
|
syn region tjpblk_limits start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin
|
650
664
|
syn region tjpblk_include_properties start=/^\s*include\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_include_properties,tjp_accountprefix,tjp_reportprefix,tjp_resourceprefix,tjp_taskprefix
|
651
|
-
syn region tjpblk_columns start=/^\s*columns\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_columns,tjp_celltext_column,tjp_cellcolor_column,tjp_end_column,tjp_fontcolor_column,tjp_halign_column,tjp_listitem_column,tjp_listtype_column,tjp_period_column,tjp_scale_column,tjp_start_column,tjp_title_column,tjp_tooltip_column,tjp_width_column contained
|
665
|
+
syn region tjpblk_columns start=/^\s*columns\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_columns,tjp_celltext_column,tjp_cellcolor_column,tjp_end_column,tjp_fontcolor_column,tjp_halign_column,tjp_listitem_column,tjp_listtype_column,tjp_period_column,tjp_scale_column,tjp_start_column,tjp_timeformat1,tjp_timeformat2,tjp_title_column,tjp_tooltip_column,tjp_width_column contained
|
652
666
|
syn region tjpblk_resource start=/^\s*resource\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_resource,tjp_email,tjp_journalentry,tjpblk_journalentry,tjp_purge,tjp_resource,tjpblk_resource,tjp_chargeset,tjp_efficiency,tjp_flags_resource,tjp_booking_resource,tjpblk_booking_resource,tjp_fail,tjp_leaveallowance,tjp_leaves,tjp_limits_resource,tjpblk_limits_resource,tjp_managers,tjp_rate_resource,tjp_shifts_resource,tjp_vacation_resource,tjp_warn,tjp_workinghours_resource,tjp_supplement_resource,tjpblk_supplement_resource
|
653
667
|
syn region tjpblk_supplement_resource start=/^\s*supplement resource\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_supplement_resource,tjp_email,tjp_journalentry,tjpblk_journalentry,tjp_purge,tjp_resource,tjpblk_resource,tjp_chargeset,tjp_efficiency,tjp_flags_resource,tjp_booking_resource,tjpblk_booking_resource,tjp_fail,tjp_leaveallowance,tjp_leaves,tjp_limits_resource,tjpblk_limits_resource,tjp_managers,tjp_rate_resource,tjp_shifts_resource,tjp_vacation_resource,tjp_warn,tjp_workinghours_resource,tjp_supplement_resource,tjpblk_supplement_resource,tjp_supplement contained
|
654
|
-
syn region tjpblk_resourcereport start=/^\s*resourcereport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_resourcereport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
668
|
+
syn region tjpblk_resourcereport start=/^\s*resourcereport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_resourcereport,tjp_accountroot,tjp_auxdir,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
655
669
|
syn region tjpblk_booking_resource start=/^\s*booking\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_booking_resource,tjp_overtime_booking,tjp_sloppy_booking contained
|
656
670
|
syn region tjpblk_limits_resource start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits_resource,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin contained
|
657
671
|
syn region tjpblk_scenario start=/^\s*scenario\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_scenario,tjp_active,tjp_scenario,tjpblk_scenario contained
|
@@ -663,17 +677,17 @@ syn region tjpblk_task_statussheet start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ tra
|
|
663
677
|
syn region tjpblk_tagfile start=/^\s*tagfile\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_tagfile,tjp_hideresource,tjp_hidetask,tjp_rollupresource,tjp_rolluptask
|
664
678
|
syn region tjpblk_task start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_task,tjp_adopt_task,tjp_journalentry,tjpblk_journalentry,tjp_note_task,tjp_purge,tjp_supplement_task,tjpblk_supplement_task,tjp_task,tjpblk_task,tjp_allocate,tjpblk_allocate,tjp_booking_task,tjpblk_booking_task,tjp_charge,tjp_chargeset,tjp_complete,tjp_depends,tjpblk_depends,tjp_duration,tjp_effort,tjp_end,tjp_flags_task,tjp_fail,tjp_length,tjp_limits_task,tjpblk_limits_task,tjp_maxend,tjp_maxstart,tjp_milestone,tjp_minend,tjp_minstart,tjp_period_task,tjp_precedes,tjpblk_precedes,tjp_priority,tjp_projectid_task,tjp_responsible,tjp_scheduled,tjp_scheduling,tjp_shifts_task,tjp_start,tjp_warn
|
665
679
|
syn region tjpblk_supplement_task start=/^\s*supplement task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_supplement_task,tjp_adopt_task,tjp_journalentry,tjpblk_journalentry,tjp_note_task,tjp_purge,tjp_supplement_task,tjpblk_supplement_task,tjp_task,tjpblk_task,tjp_allocate,tjpblk_allocate,tjp_booking_task,tjpblk_booking_task,tjp_charge,tjp_chargeset,tjp_complete,tjp_depends,tjpblk_depends,tjp_duration,tjp_effort,tjp_end,tjp_flags_task,tjp_fail,tjp_length,tjp_limits_task,tjpblk_limits_task,tjp_maxend,tjp_maxstart,tjp_milestone,tjp_minend,tjp_minstart,tjp_period_task,tjp_precedes,tjpblk_precedes,tjp_priority,tjp_projectid_task,tjp_responsible,tjp_scheduled,tjp_scheduling,tjp_shifts_task,tjp_start,tjp_warn,tjp_supplement contained
|
666
|
-
syn region tjpblk_taskreport start=/^\s*taskreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_taskreport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
680
|
+
syn region tjpblk_taskreport start=/^\s*taskreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_taskreport,tjp_accountroot,tjp_auxdir,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
667
681
|
syn region tjpblk_booking_task start=/^\s*booking\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_booking_task,tjp_overtime_booking,tjp_sloppy_booking contained
|
668
682
|
syn region tjpblk_depends start=/^\s*depends\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_depends,tjp_gapduration,tjp_gaplength,tjp_onend,tjp_onstart contained
|
669
683
|
syn region tjpblk_limits_task start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits_task,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin contained
|
670
684
|
syn region tjpblk_precedes start=/^\s*precedes\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_precedes,tjp_gapduration,tjp_gaplength,tjp_onend,tjp_onstart contained
|
671
|
-
syn region tjpblk_textreport start=/^\s*textreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_textreport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
685
|
+
syn region tjpblk_textreport start=/^\s*textreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_textreport,tjp_accountroot,tjp_auxdir,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
672
686
|
syn region tjpblk_timesheet start=/^\s*timesheet\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_timesheet,tjp_newtask,tjpblk_newtask,tjp_shift_timesheet,tjp_status_timesheet,tjpblk_status_timesheet,tjp_task_timesheet,tjpblk_task_timesheet
|
673
687
|
syn region tjpblk_newtask start=/^\s*newtask\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_newtask,tjp_end_timesheet,tjp_priority_timesheet,tjp_remaining,tjp_status_timesheet,tjpblk_status_timesheet,tjp_work contained
|
674
688
|
syn region tjpblk_task_timesheet start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_task_timesheet,tjp_end_timesheet,tjp_priority_timesheet,tjp_remaining,tjp_status_timesheet,tjpblk_status_timesheet,tjp_work contained
|
675
689
|
syn region tjpblk_timesheetreport start=/^\s*timesheetreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_timesheetreport,tjp_hideresource,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_sortresources,tjp_sorttasks
|
676
|
-
syn region tjpblk_tracereport start=/^\s*tracereport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_tracereport,tjp_accountroot,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
690
|
+
syn region tjpblk_tracereport start=/^\s*tracereport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_tracereport,tjp_accountroot,tjp_auxdir,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
|
677
691
|
syn region tjpblk_status_timesheet start=/^\s*status\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_status_timesheet,tjp_details,tjp_flags_timesheet,tjp_summary contained
|
678
692
|
syn region tjpblk_macro start=/macro\s\+\h\w*\s*\[/ end=/\]$/ transparent fold contains=ALL
|
679
693
|
syn region tjpstring start=/"/ skip=/\\"/ end=/"/
|
@@ -24,12 +24,12 @@ class TaskJuggler
|
|
24
24
|
class Allocation
|
25
25
|
|
26
26
|
attr_reader :selectionMode
|
27
|
-
attr_accessor :persistent, :mandatory, :shifts, :lockedResource
|
27
|
+
attr_accessor :atomic, :persistent, :mandatory, :shifts, :lockedResource
|
28
28
|
|
29
29
|
# Create an Allocation object. The _candidates_ list must at least contain
|
30
30
|
# one Resource reference.
|
31
31
|
def initialize(candidates, selectionMode = 1, persistent = false,
|
32
|
-
mandatory = false)
|
32
|
+
mandatory = false, atomic = false)
|
33
33
|
@candidates = candidates
|
34
34
|
# The selection mode determines how the candidate is selected from the
|
35
35
|
# list of candidates.
|
@@ -42,9 +42,11 @@ class TaskJuggler
|
|
42
42
|
# load
|
43
43
|
# 4 : 'random' : select a random candidate
|
44
44
|
@selectionMode = selectionMode
|
45
|
+
@atomic = atomic
|
45
46
|
@persistent = persistent
|
46
47
|
@mandatory = mandatory
|
47
48
|
@shifts = nil
|
49
|
+
@staticCandidates = nil
|
48
50
|
end
|
49
51
|
|
50
52
|
# Set the selection mode identified by name specified in _str_. For
|
@@ -70,9 +72,14 @@ class TaskJuggler
|
|
70
72
|
|
71
73
|
# Return the candidate list sorted according to the selectionMode.
|
72
74
|
def candidates(scenarioIdx = nil)
|
75
|
+
# In case we have selection criteria that results in a static list, we
|
76
|
+
# can use the previously determined list.
|
77
|
+
return @staticCandidates if @staticCandidates
|
78
|
+
|
73
79
|
if scenarioIdx.nil? || @selectionMode == 0 # declaration order
|
74
80
|
return @candidates
|
75
81
|
end
|
82
|
+
|
76
83
|
if @selectionMode == 4 # random
|
77
84
|
# For a random sorting we put the candidates in a hash with a random
|
78
85
|
# number as key. Then we sort the hash according to the random keys an
|
@@ -88,7 +95,21 @@ class TaskJuggler
|
|
88
95
|
list = @candidates.sort do |x, y|
|
89
96
|
case @selectionMode
|
90
97
|
when 1 # lowest alloc probability
|
91
|
-
|
98
|
+
if @persistent
|
99
|
+
# For persistent resources we use a more sophisticated heuristic
|
100
|
+
# than just the criticalness of the resource. Instead, we
|
101
|
+
# look at the already allocated slots of the resource. This will
|
102
|
+
# reduce the probability to pick a persistent resource that was
|
103
|
+
# already allocated for a higher priority or more critical task.
|
104
|
+
if (cmp = x.bookedEffort(scenarioIdx) <=>
|
105
|
+
y.bookedEffort(scenarioIdx)) == 0
|
106
|
+
x['criticalness', scenarioIdx] <=> y['criticalness', scenarioIdx]
|
107
|
+
else
|
108
|
+
cmp
|
109
|
+
end
|
110
|
+
else
|
111
|
+
x['criticalness', scenarioIdx] <=> y['criticalness', scenarioIdx]
|
112
|
+
end
|
92
113
|
when 2 # lowest allocated load
|
93
114
|
x.bookedEffort(scenarioIdx) <=> y.bookedEffort(scenarioIdx)
|
94
115
|
when 3 # hightes allocated load
|
@@ -97,6 +118,9 @@ class TaskJuggler
|
|
97
118
|
raise "Unknown selection mode #{@selectionMode}"
|
98
119
|
end
|
99
120
|
end
|
121
|
+
|
122
|
+
@staticCandidates = list if @selectionMode == 1 && !@persistent
|
123
|
+
|
100
124
|
list
|
101
125
|
end
|
102
126
|
|
@@ -714,8 +714,9 @@ class TaskJuggler
|
|
714
714
|
str += ', '
|
715
715
|
end
|
716
716
|
str += "#{iv[0] / 3600}:#{iv[0] % 3600 == 0 ?
|
717
|
-
'00' : iv[0] % 3600} - " +
|
718
|
-
"#{iv[1] / 3600}:#{iv[1] % 3600 == 0 ?
|
717
|
+
'00' : (iv[0] % 3600) / 60} - " +
|
718
|
+
"#{iv[1] / 3600}:#{iv[1] % 3600 == 0 ?
|
719
|
+
'00' : (iv[1] % 3600) / 60}"
|
719
720
|
end
|
720
721
|
str += "\n" if day < 6
|
721
722
|
end
|
@@ -60,7 +60,7 @@ class TaskJuggler
|
|
60
60
|
end
|
61
61
|
|
62
62
|
# Generate the 'head' section of an HTML page.
|
63
|
-
def generateHead(title, metaTags = {})
|
63
|
+
def generateHead(title, metaTags = {}, blob = nil)
|
64
64
|
@html << HEAD.new {
|
65
65
|
e = [
|
66
66
|
TITLE.new { title },
|
@@ -73,6 +73,8 @@ class TaskJuggler
|
|
73
73
|
metaTags.each do |name, content|
|
74
74
|
e << META.new({ 'name' => name, 'content' => content })
|
75
75
|
end
|
76
|
+
# Add a raw HTML blob into the header if provided.
|
77
|
+
e << XMLBlob.new(blob) if blob
|
76
78
|
|
77
79
|
e
|
78
80
|
}
|
@@ -0,0 +1,213 @@
|
|
1
|
+
#!/usr/bin/env ruby -w
|
2
|
+
# encoding: UTF-8
|
3
|
+
#
|
4
|
+
# = KateSyntax.rb -- The TaskJuggler III Project Management Software
|
5
|
+
#
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
8
|
+
#
|
9
|
+
# This program is free software; you can redistribute it and/or modify
|
10
|
+
# it under the terms of version 2 of the GNU General Public License as
|
11
|
+
# published by the Free Software Foundation.
|
12
|
+
#
|
13
|
+
|
14
|
+
require 'taskjuggler/SyntaxReference'
|
15
|
+
|
16
|
+
class TaskJuggler
|
17
|
+
|
18
|
+
# This class is a generator for Kate (http://kate-editor.org/) TaskJuggler syntax
|
19
|
+
# highlighting files.
|
20
|
+
class KateSyntax
|
21
|
+
|
22
|
+
# Create a generator object.
|
23
|
+
def initialize
|
24
|
+
# Create a syntax reference for all current keywords.
|
25
|
+
@reference = SyntaxReference.new(nil, true)
|
26
|
+
|
27
|
+
@properties = []
|
28
|
+
@attributes = []
|
29
|
+
|
30
|
+
@reference.keywords.each_value do |kw|
|
31
|
+
if kw.isProperty?
|
32
|
+
@properties << kw
|
33
|
+
else
|
34
|
+
@attributes << kw
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
@file = nil
|
39
|
+
end
|
40
|
+
|
41
|
+
# Generate the Kate syntax file into _file_.
|
42
|
+
def generate(file)
|
43
|
+
@file = File.open(file, 'w')
|
44
|
+
|
45
|
+
header
|
46
|
+
keywords
|
47
|
+
contexts
|
48
|
+
highlights
|
49
|
+
footer
|
50
|
+
|
51
|
+
@file.close
|
52
|
+
end
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def header
|
57
|
+
# Generate the header section. Mostly consists of comments and
|
58
|
+
# description attributes
|
59
|
+
@file.write <<"EOT"
|
60
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
61
|
+
<!DOCTYPE language SYSTEM "language.dtd">
|
62
|
+
<language
|
63
|
+
name="TaskJuggler"
|
64
|
+
version="3.0" kateversion="2.1"
|
65
|
+
section="Scripts" extensions="*.tjp;*.tji"
|
66
|
+
author="TaskJuggler Developers <taskjuggler-devel@googlegroups.com>">
|
67
|
+
<highlighting>
|
68
|
+
<!-- This file was automatically generated by KateSyntax.rb -->
|
69
|
+
|
70
|
+
EOT
|
71
|
+
end
|
72
|
+
|
73
|
+
def footer
|
74
|
+
# Generate the footer section. Mostly consists of closing tags.
|
75
|
+
@file.write <<"EOT"
|
76
|
+
</highlighting>
|
77
|
+
<general>
|
78
|
+
<comments>
|
79
|
+
<comment name="singleLine" start="#"/>
|
80
|
+
<comment name="singleLine" start="//"/>
|
81
|
+
<comment name="multiLine" start="/*" end="*/"/>
|
82
|
+
</comments>
|
83
|
+
<keywords casesensitive="0"/>
|
84
|
+
</general>
|
85
|
+
</language>
|
86
|
+
EOT
|
87
|
+
end
|
88
|
+
|
89
|
+
def contexts
|
90
|
+
@file.write <<'EOT'
|
91
|
+
<contexts>
|
92
|
+
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
93
|
+
<!-- Date(+Time) values -->
|
94
|
+
<RegExpr attribute="Date" String="\d{4}-\d{2}-\d{2}\S*"/>
|
95
|
+
<!-- Time values -->
|
96
|
+
<RegExpr attribute="Time" String="\d{1-2}:\d{2}(:\d{2}|)"/>
|
97
|
+
<!-- Duration specifications -->
|
98
|
+
<RegExpr attribute="Duration" String="\d(min|h|d|w|m|y)"/>
|
99
|
+
<!-- keywords and other builtins -->
|
100
|
+
<keyword attribute="Builtin Function" String="builtinfuncs" context="#stay"/>
|
101
|
+
<keyword attribute="Keyword" String="keywords" context="#stay"/>
|
102
|
+
<keyword attribute="Data Types" String="types" context="#stay"/>
|
103
|
+
<!-- Include -->
|
104
|
+
<RegExpr attribute="Include" String="include.*$"/>
|
105
|
+
<!-- Arguments -->
|
106
|
+
<RegExpr attribute="Arguments" String="\{.*}$"/>
|
107
|
+
<!-- region (brace) folding -->
|
108
|
+
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace2"/>
|
109
|
+
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace2"/>
|
110
|
+
<DetectChar attribute="Symbol" context="#stay" char="[" beginRegion="Brace1"/>
|
111
|
+
<DetectChar attribute="Symbol" context="#stay" char="]" endRegion="Brace1"/>
|
112
|
+
<!-- number hilighting -->
|
113
|
+
<Float attribute="Float" context="#stay">
|
114
|
+
<AnyChar String="fF" attribute="Float" context="#stay"/>
|
115
|
+
</Float>
|
116
|
+
<Int attribute="Decimal" context="#stay">
|
117
|
+
<StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
|
118
|
+
<StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
|
119
|
+
<StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
|
120
|
+
<StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
|
121
|
+
<StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
|
122
|
+
<StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
|
123
|
+
<StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
|
124
|
+
<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
|
125
|
+
</Int>
|
126
|
+
<!-- strings -->
|
127
|
+
<DetectChar attribute="String" context="String1" char="'"/>
|
128
|
+
<DetectChar attribute="String" context="String2" char='"'/>
|
129
|
+
<StringDetect attribute="String" context="String3" String="-8<-"/>
|
130
|
+
<!-- comments -->
|
131
|
+
<DetectChar attribute="Comment" context="Comment1" char="#"/>
|
132
|
+
<Detect2Chars attribute="Comment" context="Comment2" char="/" char1="/"/>
|
133
|
+
<Detect2Chars attribute="Comment" context="Comment3" char="/" char1="*"/>
|
134
|
+
</context>
|
135
|
+
<context attribute="String" lineEndContext="#stay" name="String1">
|
136
|
+
<DetectChar attribute="String" context="#pop" char="'"/>
|
137
|
+
</context>
|
138
|
+
<context attribute="String" lineEndContext="#stay" name="String2">
|
139
|
+
<DetectChar attribute="String" context="#pop" char='"'/>
|
140
|
+
</context>
|
141
|
+
<context attribute="String" lineEndContext="#stay" name="String3">
|
142
|
+
<StringDetect attribute="String" context="#pop" String="->8-"/>
|
143
|
+
</context>
|
144
|
+
<context attribute="Comment" lineEndContext="#pop" name="Comment1">
|
145
|
+
<IncludeRules context="##Alerts"/>
|
146
|
+
</context>
|
147
|
+
<context attribute="Comment" lineEndContext="#pop" name="Comment2">
|
148
|
+
<IncludeRules context="##Alerts"/>
|
149
|
+
</context>
|
150
|
+
<context attribute="Comment" lineEndContext="#stay" name="Comment3">
|
151
|
+
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
|
152
|
+
</context>
|
153
|
+
</contexts>
|
154
|
+
|
155
|
+
EOT
|
156
|
+
#syn match tjparg contained /\${.*}/
|
157
|
+
end
|
158
|
+
|
159
|
+
def keywords
|
160
|
+
@file.puts "<list name=\"keywords\">"
|
161
|
+
%w( macro project supplement include supplement ).each do |kw|
|
162
|
+
@file.puts "<item> #{kw} </item>"
|
163
|
+
end
|
164
|
+
@file.puts "</list>"
|
165
|
+
|
166
|
+
# Property keywords
|
167
|
+
@file.puts "<list name=\"builtinfuncs\">"
|
168
|
+
@properties.each do |kw|
|
169
|
+
kw.names.each do |name|
|
170
|
+
# Ignore the 'supplement' entries. They are not real properties.
|
171
|
+
next if name == 'supplement'
|
172
|
+
@file.puts "<item> #{name} </item>"
|
173
|
+
end
|
174
|
+
end
|
175
|
+
@file.puts "</list>"
|
176
|
+
|
177
|
+
# Attribute keywords
|
178
|
+
@file.puts "<list name=\"types\">"
|
179
|
+
@attributes.each do |kw|
|
180
|
+
next if %w( resourcereport taskreport textreport ).include?(kw.keyword)
|
181
|
+
single = kw.names.length == 1
|
182
|
+
kw.names.each do |name|
|
183
|
+
break if [ '%', '(', '~', 'include', 'macro', 'project',
|
184
|
+
'supplement' ].include?(name)
|
185
|
+
@file.puts "<item> #{name} </item>"
|
186
|
+
end
|
187
|
+
end
|
188
|
+
@file.puts "</list>"
|
189
|
+
end
|
190
|
+
|
191
|
+
def highlights
|
192
|
+
@file.write <<'EOT'
|
193
|
+
<itemDatas>
|
194
|
+
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
195
|
+
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
196
|
+
<itemData name="Builtin Function" defStyleNum="dsFunction"/>
|
197
|
+
<itemData name="Data Types" defStyleNum="dsDataType"/>
|
198
|
+
<itemData name="Decimal" defStyleNum="dsDecVal"/>
|
199
|
+
<itemData name="Float" defStyleNum="dsDecVal"/>
|
200
|
+
<itemData name="Date" defStyleNum="dsBaseN"/>
|
201
|
+
<itemData name="Time" defStyleNum="dsBaseN"/>
|
202
|
+
<itemData name="String" defStyleNum="dsString"/>
|
203
|
+
<itemData name="String Char" defStyleNum="dsChar"/>
|
204
|
+
<itemData name="Comment" defStyleNum="dsComment"/>
|
205
|
+
<itemData name="Symbol" defStyleNum="dsNormal"/>
|
206
|
+
</itemDatas>
|
207
|
+
EOT
|
208
|
+
end
|
209
|
+
|
210
|
+
end
|
211
|
+
|
212
|
+
end
|
213
|
+
|