mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-06-26 10:54:28 +02:00
Fix typos and wording
Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
This commit is contained in:
parent
14bed139f6
commit
082708a7ca
19 changed files with 30 additions and 32 deletions
|
@ -14,7 +14,7 @@ Here are the different ways you might conѕider contributing:
|
|||
|
||||
Please read the respective section below about the details.
|
||||
|
||||
Otherwise you can spread the word and recommend Timewarrior to your friends and colleagues.
|
||||
Otherwise, you can spread the word and recommend Timewarrior to your friends and colleagues.
|
||||
|
||||
|
||||
## Reviews
|
||||
|
@ -29,7 +29,7 @@ It is also the quickest way to get help, or confirm a bug.
|
|||
|
||||
Review documentation: there are man pages, online articles, tutorials and so on, and these may contain errors, or they may not convey ideas in the best way.
|
||||
You can help improve it.
|
||||
Documentation is a separate effort from the codebase, and includes all web sites, and all are available using git.
|
||||
Documentation is a separate effort from the codebase, and includes all websites, and all are available using git.
|
||||
|
||||
Take a look at the bug database, and help triage the bug list.
|
||||
Bug triage is very useful and much needed.
|
||||
|
@ -43,7 +43,7 @@ Review the source code, and point out inefficiencies, problems, unreadable funct
|
|||
## Bug reports
|
||||
|
||||
Before you submit a bug report, make sure you are using the latest version of Timewarrior.
|
||||
Also please take your time and scan the current bug tickets on our [GitHub issue tracker](https://github.com/GothenburgBitFactory/timewarrior/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Abug) whether your issue has already been reported.
|
||||
Also, please take your time and scan the current bug tickets on our [GitHub issue tracker](https://github.com/GothenburgBitFactory/timewarrior/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Abug) whether your issue has already been reported.
|
||||
|
||||
When you submit a bug report, be precise and put as much information into your bug report as possible.
|
||||
You should at least provide
|
||||
|
@ -146,7 +146,7 @@ To make a pull request you need to have a GitHub account.
|
|||
...
|
||||
$ git push origin feature_branch
|
||||
|
||||
Furthermore, commits should be signed off according to the [DCO](DCO) (use `-s` / `--signoff` flag when commiting).
|
||||
Furthermore, commits should be signed off according to the [DCO](DCO) (use `-s` / `--signoff` flag when committing).
|
||||
|
||||
1. Create the pull request on GitHub.
|
||||
|
||||
|
|
2
INSTALL
2
INSTALL
|
@ -89,7 +89,7 @@ To do that, run:
|
|||
$ git pull --recurse-submodules
|
||||
$ git submodule update
|
||||
|
||||
At this point you have the fully updated sources at your disposal and you can update your local build following the regular build instructions:
|
||||
At this point you have the fully updated sources at your disposal, and you can update your local build following the regular build instructions:
|
||||
|
||||
$ cmake .
|
||||
$ make
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
Thank you for taking a look at Timewarrior!
|
||||
|
||||
Timewarrior is a time tracking utility that offers simple stopwatch features as well as sophisticated calendar-based backfill, along with flexible reporting.
|
||||
It is a portable, well supported and very active Open Source project.
|
||||
It is a portable, well-supported and very active Open Source project.
|
||||
|
||||
Please visit [timewarrior.net](https://timewarrior.net/docs/) for extensive documentation, downloads, news and more.
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ timew-join - join intervals
|
|||
*timew join* _<id> <id>_
|
||||
|
||||
== DESCRIPTION
|
||||
Joins two intervals, by using the earlier of the two start times, and the later of the two end times, and the combined set of tags.
|
||||
Joins two intervals, by using the earlier one of the two start times, and the later one of the two end times, and the combined set of tags.
|
||||
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
|
||||
Using the correct IDs, you can identify an intervals to join.
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ uses the combination of configuration settings and logic within to:
|
|||
- Define various policies
|
||||
|
||||
On non-Unix systems config file is expected in ~/.timewarrior directory.
|
||||
On Unix systems, if legacy ~/.timewarrior directory doesn't exists, config is
|
||||
On Unix systems, if legacy ~/.timewarrior directory doesn't exist, config is
|
||||
read from $XDG_CONFIG_HOME/timewarrior directory (if not specified,
|
||||
$XDG_CONFIG_HOME defaults to ~/.config).
|
||||
|
||||
|
@ -19,7 +19,7 @@ are no chained rules, but errors will be able to terminate rule processing and
|
|||
program execution.
|
||||
|
||||
As much functionality as possible is to be deferred to the rules system, which
|
||||
will initially be minimal, but grow to be come more capable.
|
||||
will initially be minimal, but grow to become more capable.
|
||||
|
||||
|
||||
Format
|
||||
|
|
2
doc/themes/README
vendored
2
doc/themes/README
vendored
|
@ -36,7 +36,7 @@ Color settings include:
|
|||
|
||||
The color palette is used to automatically color tagged time in reports.
|
||||
When creating a color theme, the palette should be larger rather than smaller.
|
||||
It is recommended that you provide at least 16 colors, otherwise Timewarrior cycles through them and you'll see repetitions.
|
||||
It is recommended that you provide at least 16 colors, otherwise Timewarrior cycles through them, and you'll see repetitions.
|
||||
|
||||
## Share Your Theme
|
||||
|
||||
|
|
|
@ -503,7 +503,7 @@ void Database::initializeTagDatabase ()
|
|||
}
|
||||
}
|
||||
|
||||
// We always want the tag database file to exists.
|
||||
// We always want the tag database file to exist.
|
||||
_tagInfoDatabase = TagInfoDatabase();
|
||||
AtomicFile::write (_location + "/tags.data", _tagInfoDatabase.toJson ());
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// An exclusion represents untrackable time such as holidays, weekends, evenings
|
||||
// and lunch. By default there are none, but they may be configured. Once there
|
||||
// and lunch. There are none by default, but they may be configured. Once there
|
||||
// are exclusions defined, the :fill functionality is enabled.
|
||||
//
|
||||
// Exclusions are instantiated from configuration, and are passed here as name/
|
||||
|
|
|
@ -203,7 +203,7 @@ Range Range::intersect (const Range& other) const
|
|||
{
|
||||
if (overlaps (other))
|
||||
{
|
||||
// Intersection is choosing the later of the two starts, and the earlier of
|
||||
// Intersection is choosing the later one of the two starts, and the earlier one of
|
||||
// the two ends, provided the two ranges overlap.
|
||||
Range result;
|
||||
result.start = start > other.start ? start : other.start;
|
||||
|
|
|
@ -36,7 +36,7 @@ int CmdCancel (
|
|||
{
|
||||
const bool verbose = rules.getBoolean ("verbose");
|
||||
|
||||
// If there is an open interval, cancel it by deleting it..
|
||||
// If there is an open interval, cancel it by deleting it
|
||||
auto latest = getLatestInterval (database);
|
||||
|
||||
if (!latest.is_open ())
|
||||
|
|
|
@ -150,7 +150,7 @@ std::vector <Interval> expandLatest (const Interval& latest, const Rules& rules)
|
|||
|
||||
// If flatten() converted the latest interval into a group of synthetic
|
||||
// intervals, the number of returned intervals will be greater than 1,
|
||||
// otherwise, it just returned the non-synthetic latest interval.
|
||||
// otherwise, it just returned the non-synthetic, latest interval.
|
||||
if (flattened.size () > 1)
|
||||
{
|
||||
std::reverse (flattened.begin (), flattened.end ());
|
||||
|
@ -261,7 +261,7 @@ static bool rangeCompare (Range left, Range right)
|
|||
std::vector <Range> merge (
|
||||
const std::vector <Range>& ranges)
|
||||
{
|
||||
// Short cut.
|
||||
// Shortcut.
|
||||
if (ranges.size () < 2)
|
||||
return ranges;
|
||||
|
||||
|
@ -494,7 +494,7 @@ std::vector <Range> getUntracked (
|
|||
else if (found_match)
|
||||
{
|
||||
// If we already had a match, and now we do not, since the database is in
|
||||
// order from most recent to oldest inclusion, we can be sure that there
|
||||
// order from most recent to the oldest inclusion, we can be sure that there
|
||||
// will not be any further matches.
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ class MetaTest(type):
|
|||
func = meta.make_function(classname, *args, **kwargs)
|
||||
|
||||
# Rename the function after a unique identifier
|
||||
# Name of function must start with test_ to be ran by unittest
|
||||
# Name of function must start with test_ to be run by unittest
|
||||
func.__name__ = "test_{0}".format(i)
|
||||
|
||||
# Attach the new test to the test class
|
||||
|
|
|
@ -160,7 +160,7 @@ class Timew(object):
|
|||
*not* fail if program finishes abnormally.
|
||||
|
||||
If you wish to pass instructions to timew such as confirmations or other
|
||||
input via stdin, you can do so by providing a input string.
|
||||
input via stdin, you can do so by providing an input string.
|
||||
Such as input="y\ny\n".
|
||||
|
||||
If merge_streams=True stdout and stderr will be merged into stdout.
|
||||
|
@ -195,7 +195,7 @@ class Timew(object):
|
|||
*fail* if program finishes abnormally.
|
||||
|
||||
If you wish to pass instructions to timew such as confirmations or other
|
||||
input via stdin, you can do so by providing a input string.
|
||||
input via stdin, you can do so by providing an input string.
|
||||
Such as input="y\ny\n".
|
||||
|
||||
If merge_streams=True stdout and stderr will be merged into stdout.
|
||||
|
|
|
@ -121,7 +121,7 @@ class TestStart(TestCase):
|
|||
self.assertIn("Tracking bar foo", out)
|
||||
|
||||
def test_start_with_less_tags_than_current_tracking(self):
|
||||
"""Test 'start' with less tags than current tracking should start new tracking"""
|
||||
"""Test 'start' with fewer tags than current tracking should start new tracking"""
|
||||
self.t("start 1h ago foo bar")
|
||||
|
||||
code, out, err = self.t("start foo")
|
||||
|
|
|
@ -235,7 +235,7 @@ class TestStop(TestCase):
|
|||
self.assertClosedInterval(j[0])
|
||||
|
||||
def test_stop_with_id_should_suggest_modify_command(self):
|
||||
"""Stop does not work with with ids, suggest modify command instead"""
|
||||
"""Stop does not work with ids, suggest modify command instead"""
|
||||
self.t("start 2h ago")
|
||||
self.t("start 1h ago")
|
||||
|
||||
|
|
|
@ -223,7 +223,7 @@ W{5: <{width}} {2:%Y-%m-%d} {2:%a} @1 BAZ 10:00:00 11:00:00 1:00:00 1:00:00
|
|||
"-", " ", width=week_col_padding), out)
|
||||
|
||||
def test_with_all_hint_and_first_interval_later_in_day(self):
|
||||
"""Summary should handle :all hint with first interval that starts later in day than latest interval"""
|
||||
"""Summary should handle :all hint with first interval that starts later in day than the latest interval"""
|
||||
now = datetime.now()
|
||||
yesterday = now - timedelta(days=1)
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ class TestTag(TestCase):
|
|||
self.assertIn("At least one tag must be specified.", err)
|
||||
|
||||
def test_add_tag_to_closed_interval(self):
|
||||
"""Add a tag to an closed interval"""
|
||||
"""Add a tag to a closed interval"""
|
||||
now_utc = datetime.now().utcnow()
|
||||
one_hour_before_utc = now_utc - timedelta(hours=1)
|
||||
|
||||
|
@ -130,7 +130,7 @@ class TestTag(TestCase):
|
|||
self.assertOpenInterval(j[0], expectedTags=["bar", "foo"])
|
||||
|
||||
def test_add_tags_to_closed_interval(self):
|
||||
"""Add tags to an closed interval"""
|
||||
"""Add tags to a closed interval"""
|
||||
now_utc = datetime.now().utcnow()
|
||||
one_hour_before_utc = now_utc - timedelta(hours=1)
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ class TestUntag(TestCase):
|
|||
self.assertOpenInterval(j[0], expectedTags=["baz"])
|
||||
|
||||
def test_remove_tags_from_closed_interval(self):
|
||||
"""Remove tags from an closed interval"""
|
||||
"""Remove tags from a closed interval"""
|
||||
now_utc = datetime.now().utcnow()
|
||||
one_hour_before_utc = now_utc - timedelta(hours=1)
|
||||
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
#!/usr/bin/env python3
|
||||
# write-failure-test.py - Make sure the test will fail t
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
import atexit
|
||||
import filecmp
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
from basetest import Timew, TestCase
|
||||
|
@ -35,7 +33,7 @@ class WrappedTimew(Timew):
|
|||
"""Invoke timew with given arguments
|
||||
|
||||
If you wish to pass instructions to timew such as confirmations or other
|
||||
input via stdin, you can do so by providing a input string.
|
||||
input via stdin, you can do so by providing an input string.
|
||||
Such as input="y\ny\n".
|
||||
|
||||
If merge_streams=True stdout and stderr will be merged into stdout.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue