Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
Updated, I was calling .base myself instead of the actual string
|
|
|
|
This reverts commit 971af69b7388cf5155bb124246f2a697578cc6e9.
|
|
Tidied up some of the code a little
|
|
I wonder if anyone's actually using this...
Signed-off-by: Luke Kanies <luke@madstop.com>
|
|
|
|
|
|
|
|
More correctly handle indentation of lines enclosed in [] when the
contents themselves contain [], such as arrays of object references
for requires.
Exclude newlines from more of the parsing regexes for more accurate
results.
Fontify references to objects even if they're not at the start of a
line.
|
|
This fixes #1179.
|
|
|
|
Adding the autotest config, instructions, and a Rakefile
that can install it.
|
|
Indentation of multiple nested blocks was broken; the closing braces
of all the outer blocks were put into column 0 because finding the
block indentation failed. Do normal indentation if finding a block
indentation fails, but more importantly, be smarter about searching
backwards to find the beginning of the current block, taking balanced
braces into account.
There is probably some less-ugly and more Emacs-native way of doing
this.
|
|
More correctly handle multiple resources in a block, such as:
type {
"name":
attr => foo,
oattr => bar;
"other":
attr => baz;
}
Handle continued arguments in parentheses, such as define or realize
arguments. Try to be a bit more robust about indenting in general.
Add the remaining Puppet language keywords (I think) and improve the
handling of type references at the top level. Remove the hack for
continued include lines and fix it properly.
Remove more non-Puppet code left over from the mode this one was
based on. Use a more straightforward method of setting up the font-lock
keywords and do it the same way for both XEmacs and Emacs since I think
they can both handle the current method (and other modes agree).
|
|
Replace count-matches with a puppet-count-matches function that does
the same as the Emacs 22 count-matches. The Emacs 21 count-matches
is different and not useful for our purposes.
|
|
|
|
|
|
|
|
This reverts commit bb65226e54d5e476581118e7c2c5e42275a6b290.
|
|
|
|
|
|
|
|
|
|
any local variables and added a local variable -- see
http://snurl.com/21zf8. My own testing showed that this
caused memory growth to level off at a reasonable level.
Note that the link above says the problem is only with class
methods, but my own testing showed that it's any method that
meets these criteria. This is not a functional change, but
should hopefully be the last nail in the coffin of #1131.
|
|
somewhat after commit 738d275f41f3eaf015800021dd2dfe6c42a1ae79, as promised.
|
|
sophisticated about what we do at the beginning of the buffer, so that the first expression after an block-opening statement that happens to begin at the beginning of the buffer gets indented correctly. This may need some cleanup, but I wanted to get the correct behavior committed first.
Reported by: Micah Anderson
(Who again supplied the reproduction case.)
|
|
* puppet/ext/emacs/puppet-mode.el
(puppet-indent-line): When iterating backwards, test for
beginning-of-buffer first, to avoid an infinite loop.
Reported by: Micah Anderson
(He also supplied a clear reproduction recipe.)
|
|
helper functions. (puppet-indent-line): Rewrite to handle three more situations: indent elements in an array, indent single-line blocks, and ignore previous comment content when indenting non-comment lines.
Suggested by: Micah Anderson
(He also provided the test data.)
Notes: Michah points out that this change may have introduced an
infinite loop (he can cause Emacs to hang now). Will investigate and
fix in a separate change.
|
|
|
|
|
|
|
|
|
|
and the schema has been updated accordingly.
|
|
classes for managing how the tokens work.
I also moved they tests to RSpec, but I didn't rewrite all of them.
|
|
|
|
|
|
|
|
|
|
the filestructure for vim files. (#900 and #963)
|
|
|
|
Previously, for example, the configuration terminus that was a
subclass of 'code' would have been stored at
lib/puppet/indirector/code/configuration and would have had
to have been named 'configuration'. Now, the subclass
can be named however the author prefers, and it must be stored
at lib/puppet/indirector/configuration/<name>.rb, where <name>
is the name you've chosen for the terminus type. The name only
matters insomuch as it is used to load the file from disk and
find the appropriate class when asked.
The additional restriction is that the class constant for the terminus
type must have its name as the last word, and the indirection must
be the second to last word. Thus, in our example, we can choose
any class constant that ends with Configuration::Code; given that
there's only one Configuration class at this point, it makes the
most sense to define the class as Puppet::Node::Configuration::Code.
This is somewhat awkward, because of the class's location on disk,
but the only other real option is to autogenerate a
Puppet::Indirector::Configuration class constant, which is, I think,
uglier.
|
|
This is the first real pass towards using caching. The `puppet`
executable actually uses the indirection work, instead of
handlers and such (and man! is it cleaner).
Most of this work was a result of trying to get the client-side
story working, with correct yaml caching of configurations, which
means this commit also covers converting configurations to yaml,
which was a much bigger PITA than it needed to be.
I still need to write integration tests, and I also need to cover
the server-side story of a normal configuration retrieval.
|
|
'Puppet::Util::Settings'. This is to clear up
confusion caused by the fact that we now have a
'Configuration' class to model host configurations,
or any set of resources as a "configuration".
|
|
I've gone too far down the rabbit hole to turn back now, but the
code is clearly getting more centralized around the Configuration
class, which is the goal.
Things are currently a bit muddy between recursion, dynamic resource
generation, transactions, and the configuration, and I don't expect
to be able to clear it up much until we rewrite all of the tests
for the Transaction class, since that is when we'll actually be
setting its behaviour.
At this point, Files (which are currently the only resources that
generate other resources) are responsible for adding their edges
to the relationship graph. This puts them knowing more than I would
like about how the relationship graph works, but it'll have to do for now.
There are still failing tests, but files seem to work again. Now to
go through the rest of the tests and make them work.
|
|
|
|
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2731 980ebf18-57e1-0310-9a29-db15c13687c0
|