Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Indentation and completion improvements #15

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ed0099e
Fix indentation of directives not preceeded by empty line
alexsmith1612 May 10, 2021
7017a94
Indent posting metadata lines an additional level
alexsmith1612 May 10, 2021
fdfa9c2
Align numbers in balance and price directives in addition to postings
alexsmith1612 May 10, 2021
b4f14e4
Align open directive currencies to number alignment + 1
alexsmith1612 May 10, 2021
80a3e8b
Add customizable variable for minimum number alignment separation
alexsmith1612 May 10, 2021
01c5a74
Add customizable variable to enable number alignment with tab-dwim
alexsmith1612 May 10, 2021
013e57a
Add more generic beancount-indent-directive function
alexsmith1612 May 10, 2021
90c54d4
Always call indent-region on TAB if the region is active
alexsmith1612 May 10, 2021
aff0255
Update indentation tests
alexsmith1612 May 10, 2021
c232302
Fix link-at-point-003 unit test
alexsmith1612 May 10, 2021
ee36fcc
Explicitly require imenu in beancount.el
alexsmith1612 May 10, 2021
2489f46
Require org for org-level-x faces
alexsmith1612 May 10, 2021
6df3934
Don't insert space after completions
alexsmith1612 May 10, 2021
7d07c48
Limit non-timestamped directives completions
alexsmith1612 May 10, 2021
2518f70
Allow completion of tags and links not on their own line
alexsmith1612 May 10, 2021
c9725e3
Move posting completions after tag and link completions
alexsmith1612 May 10, 2021
c880cf6
Don't attempt completion inside strings except for options
alexsmith1612 May 10, 2021
4102a12
Don't collect matches inside strings
alexsmith1612 May 10, 2021
a721f15
Add more completion tests
alexsmith1612 May 10, 2021
cc8ea35
Update copyright and author information
alexsmith1612 May 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions beancount.el
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
(require 'subr-x)
(require 'outline)
(require 'thingatpt)
(require 'imenu)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beancount.el does not use any functionality from imenu. The require should be in the tests only.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imenu-generic-expression is defined in imenu.el and used in beancount.el, so my assumption that the require was needed in beancount.el in addition to (implicitly) beancount-tests.el.

If this is not the case, then I'll move it to beancount-tests.el.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imenu-generic-expression is declared as a local variable in imenu.el, but you are updating the variable using setq here. If imenu.el has not been loaded yet, it will set the global value.

If you don't require imenu, I think you should set it locally, e.g. using setq-local...

FYI: In most cases, you would declare a variable from an external package using defvar without an initial value:

(defvar imenu-generic-expression)

See purcell/package-lint#205 for details.


(defgroup beancount ()
"Editing mode for Beancount files."
Expand Down