Martin Grenfell
0ad0d195e5
make NERDTreeQuitOnOpen option work with g<tab>/go
2008-07-11 21:17:29 +12:00
Martin Grenfell
43bf05c42e
jump to the bookmarks table after opening it
...
when the user hits B and opens the bookmarks table, stick the cursor at
the top of it
2008-07-07 21:08:02 +12:00
Martin Grenfell
236df49362
refactor the t/T mappings for bookmarks
...
this way feels cleaner
2008-07-07 20:43:11 +12:00
Martin Grenfell
bccd73c8f5
make t/T open a nerd tree rather than netrw
...
make the t/T on directory nodes open a fresh NERD tree for the selected
dir in a new tab, rather than a netrw.
2008-07-07 20:43:11 +12:00
Martin Grenfell
fd487dfa5c
make t/T open a new tree in a new tab, not netrw
...
doesnt work for paths with some screwed up chars in them
2008-07-07 20:43:11 +12:00
Martin Grenfell
f183d60b13
switch version to 2.12.0
2008-07-05 12:17:21 +12:00
Martin Grenfell
06c7c53127
fix for swap files and opening in a split
...
when opening a file in a new split (with the <tab> map) we were doing
the :split with a "silent" modifier. This meant that a swap existed and
input was required from the user, the script would just freeze up
2008-07-02 22:38:47 +12:00
Martin Grenfell
ec682b1f9b
fix bookmark highlighting and make it "quieter"
...
highlighting was still broken for bookmarks that werent alphanumeric
w/underscores. Also, highlight the path parts of the bookmarks table as
"normal" so they dont demand as much attention
2008-07-02 22:24:31 +12:00
Martin Grenfell
7a15d9879f
use s:Echo instead of :echo
2008-07-02 21:22:51 +12:00
Martin Grenfell
dea37444bc
loosen bookmark name restrictions
...
now the only rule is that they cant contain spaces
2008-07-02 21:22:26 +12:00
Martin Grenfell
f5a20e5379
fix some bugs when dealing with invalid bookmarks
2008-07-02 21:15:28 +12:00
Martin Grenfell
d0cb14c7ce
make every tab have its own filter settings
...
The tree filters for files/hidden-files/bookmarks now operate off tab
local variables which default to the global variables when a nerd tree
is initialised in the tab. Note: the file-filter already operated in
this way.
This means that each tree/tab has its own filter settings that are
initialised to the users preferences as specified by the global
variables, but can be altered independently of the other trees/tabs
2008-07-01 22:42:19 +12:00
Martin Grenfell
f2b2327c24
merge bookmark name caching with path string caching
...
We needed to change how the bookmark name caching was done to work with
the new path-display-string caching. It has now been merged into path
string caching.
2008-07-01 21:13:21 +12:00
Martin Grenfell
9d5a940be3
clear cached display string when path is refreshed
...
when the path object is refreshed, force the display string to be
recalculated
2008-07-01 14:23:38 +12:00
Martin Grenfell
38d91b66b0
cache display string
2008-07-01 14:23:13 +12:00
Martin Grenfell
65ebd30334
fix a bug when overwriting an existing bookmark
...
if the bookmark wasnt cached in the tree an exception was being thrown
that wasnt caught
2008-06-30 18:26:35 +12:00
Martin Grenfell
1998cef2b4
highlighting fix - allow numbers in bookmark names
2008-06-30 09:37:44 +12:00
Martin Grenfell
030cff2eda
sort bookmarks when we add a new one
2008-06-30 09:36:50 +12:00
Martin Grenfell
02facac20a
make bookmark width take into account the line numbers
2008-06-30 09:26:18 +12:00
Martin Grenfell
5f4a002787
combine NERDTreeSplitVertical and NERDTreeWinPos
...
instead of using 2 options to specify the position of the tree, just use
NERDTreeWinPos and set it to "left", "right", "top", "bottom"
2008-06-29 19:43:50 +12:00
Martin Grenfell
c34968d282
add quickhelp doc for new t/T map functionality
2008-06-29 13:52:04 +12:00
Martin Grenfell
312ce93bb4
make the t/T mappings work for bookmarks
...
when you hit t/T on a bookmark a new tab is opened and, if the bookmark
is a dir, a nerd tree is opened for that dir. If the bookmark is a file
then just open the file
2008-06-29 13:34:36 +12:00
Martin Grenfell
06776557cf
add bookmark mappings to quickhelp
2008-06-29 12:42:52 +12:00
Martin Grenfell
d831cbf17b
render bookmark paths as wide as the window allows
2008-06-29 12:35:05 +12:00
Martin Grenfell
e1bd98fc7c
open file bookmarks when user activates them
...
when the user activates a file bookmark open that file in the previous
window (i.e. do the 'o' mapping)
2008-06-29 01:00:55 +12:00
Martin Grenfell
7ca9b07b68
make NERDTreeShowBookmarks default to 0
2008-06-29 00:42:01 +12:00
Martin Grenfell
1532bf1922
move the bookmark->string code into the bookmark class
2008-06-29 00:41:34 +12:00
Martin Grenfell
ac544460e4
clean up/add comments to the bookmark methods
2008-06-29 00:33:25 +12:00
Martin Grenfell
d2989eb3e0
huge refactor, add bookmark class
2008-06-29 00:23:02 +12:00
Martin Grenfell
73be034d5e
remove some random unneeded colons
2008-06-28 22:20:42 +12:00
Martin Grenfell
b5d6736f76
remove some old testing code
2008-06-28 22:20:09 +12:00
Martin Grenfell
1c38ffd30b
add bookmark mapping to the quickhelp
2008-06-28 22:10:18 +12:00
Martin Grenfell
8e4b3565f8
turn bookmarks off by default
2008-06-28 21:43:00 +12:00
Martin Grenfell
31445645f7
truncate the bookmark path if its too long
2008-06-28 21:35:22 +12:00
Martin Grenfell
fc053917d8
add highlighting for bookmarks gui
2008-06-28 21:35:09 +12:00
Martin Grenfell
201df0a782
only show bookmark if NERDTreeShowBookmarks is set
2008-06-28 21:22:29 +12:00
Martin Grenfell
b59a7cd979
remove bookmarks display footer
2008-06-28 20:49:36 +12:00
Martin Grenfell
8f7aed712b
add a mapping to toggle display of bookmarks
2008-06-28 20:44:55 +12:00
Martin Grenfell
3e946b1b4f
make 'o' active bookmarks as well
...
hitting 'o' or clicking a bookmark will now make that bookmark to the
new tree root, in the same way that :BookmarkToRoot does
2008-06-28 20:43:33 +12:00
Martin Grenfell
2a16431b2d
add bookmarks to the view
2008-06-28 20:42:00 +12:00
Martin Grenfell
b363396a93
apply "NERDTreeQuitOnOpen" patch from Matan Nassau
...
with some slight modifications
2008-06-27 22:58:33 +12:00
Martin Grenfell
87382097df
resize the tree window when it was the only one
...
if the nerd tree window is the only window open when the user opens a
file, the file will be opened in a new split. Previously that meant the
two windows would take up half the screen each.
2008-06-24 19:32:52 +12:00
Martin Grenfell
e6d2f12bf6
switch to version 2.11.0
2008-06-23 20:40:29 +12:00
Martin Grenfell
43ee096cee
inline some script level constants
2008-06-23 18:56:55 +12:00
Martin Grenfell
2b1eecebb2
bugfix for renaming files
2008-06-22 17:19:07 +12:00
Martin Grenfell
5884cf3774
fix a bug with scrolloff
...
take &scrolloff into account when restoring the window position when
recreating the nerd tree window
2008-06-22 13:54:32 +12:00
Martin Grenfell
d15818bafa
save and restore the size of the window
...
store the old nerd tree window size as a tabpage local variable and
restore it when reloading the tree window
2008-06-22 13:53:13 +12:00
Martin Grenfell
f74ec0661d
dont resize tree window when opening with <tab>
...
the <tab> mapping creates a new window, and we previously resized the
nerd tree window at the same time
2008-06-22 13:23:32 +12:00
Martin Grenfell
d68dcd252e
bugfix to window resize code
2008-06-22 13:07:13 +12:00
Martin Grenfell
30bfb6e6b7
Revert "be silent when opening files"
...
This reverts commit 6334e99192
.
Opening files silently causes vim to hang if the file is already open by
another vim instance (it tries to print out the swap file
message/options but it cant).
2008-06-22 12:42:52 +12:00
Martin Grenfell
bfa5de8c55
minor bugfix
2008-06-22 12:29:18 +12:00
Martin Grenfell
a701bb71c4
remove some trailing whitespace from the view
...
The quickhelp had some trailing whitespace, this was removed and a help
highlight pattern had to be changed to fit. Also, there was another
trailing space the s:RenderView() function.
2008-06-22 00:47:12 +12:00
Martin Grenfell
6343639193
remove the magic from the <c-j>/<c-k> mappings
...
previoulsy, <c-k>/<c-j> did magic stuff if the selected node was a file.
i.e. jumped to the parent/parents next sibling. I chose to remove this
behaviour as it is more confusing than helpful.
2008-06-22 00:35:50 +12:00
Martin Grenfell
5ce5c62611
dont ever escape paths when calling delete()
...
previously we were escaping when deleting files, and this was causing
the operation to fail
2008-06-22 00:19:28 +12:00
Martin Grenfell
3ebff6ae54
fix highlighting of directory symlinks
2008-06-21 21:56:59 +12:00
Martin Grenfell
d9a03f4600
add syntax highlighting for executable nodes
2008-06-21 20:47:13 +12:00
Martin Grenfell
59b132f0f7
add a * when rendering executable paths
2008-06-21 20:46:35 +12:00
Martin Grenfell
d56bf992d2
make paths cache whether they are executable
2008-06-21 20:45:18 +12:00
Martin Grenfell
efa7941c54
remove a stray :echo
2008-06-20 17:23:48 +12:00
Martin Grenfell
808850a464
dont open a file twice in the same tab with o mapping
...
if the user tells the nerd tree to open a file (without splitting), and
that file is already open in the current tab, then just stick the cursor
in the existing window for the file
2008-06-19 22:35:36 +12:00
Martin Grenfell
24ad44b46f
dont clobber "special" windows when opening files
...
if the user tries to open a file and the previous window is "special"
(eg the quickfix window or another explorer plugin) then force a new
split to be opened instead
2008-06-19 21:40:44 +12:00
Martin Grenfell
737ad58740
use :echomsg instead of just :echo
...
this is so that the messages get recorded in message history and can be
view with :messages
2008-06-19 21:37:31 +12:00
Martin Grenfell
a856622f0c
switch vertion to 2.10.0
2008-06-17 22:58:26 +12:00
Martin Grenfell
ce79c243a3
show how many invalid bookmarks were read
2008-06-17 21:20:56 +12:00
Martin Grenfell
e1b369f34e
update header and change license to wtfpl
2008-06-17 21:03:00 +12:00
Martin Grenfell
0a73777381
bugfix for reading files with invalid bookmark syntax
2008-06-16 20:54:28 +12:00
Martin Grenfell
176b551af0
handle invalid bookmarks in bookmarks file
2008-06-16 20:33:17 +12:00
Martin Grenfell
95ee07c9d3
switch version to 2.10.0rc1
2008-06-13 18:46:34 +12:00
Martin Grenfell
b60bcb6cb2
bugfix for :NERDTree when a file bookmark is given
2008-06-13 13:01:05 +12:00
Martin Grenfell
f7e8c453ea
make :OpenBookmark open a netrw for dir bookmarks
2008-06-13 12:51:06 +12:00
Martin Grenfell
58ccd230fa
refactor the logic out of s:OpenExplorer()
...
refactor out the code that actually opens the explorer window into
s:OpenExplorerFor(treenode) so that we can call it separately
2008-06-13 12:48:56 +12:00
Martin Grenfell
866df769b5
fix for quickhelp highlighting bug
2008-06-12 22:53:45 +12:00
Martin Grenfell
9030ff0312
make the quickhelp narrower so it fits
2008-06-12 22:35:17 +12:00
Martin Grenfell
5172efc976
bugfix: dont render duplicate bookmarks
...
if a bookmark is created, remove any previously cached bookmark of the
same name from the tree
2008-06-12 22:31:28 +12:00
Martin Grenfell
b252a1250a
rename 'marks' to 'bookmarks'
2008-06-12 21:14:07 +12:00
Martin Grenfell
bc41c51f93
doc :RevealMark
2008-06-10 22:50:52 +12:00
Martin Grenfell
0888f6c011
fix an error in a method header
2008-06-10 22:49:20 +12:00
Martin Grenfell
df8f132d6e
update the quickhelp
2008-06-10 22:49:10 +12:00
Martin Grenfell
d7a319c3a6
rename RecallMark to RevealMark
2008-06-10 22:48:31 +12:00
Martin Grenfell
ec7e013150
add some mark quickhelp
2008-06-10 21:53:31 +12:00
Martin Grenfell
5b35d0bb31
bugfix: fix NERDTreeFromMark command
...
previously it called a nonexisting function
2008-06-10 12:49:14 +12:00
Martin Grenfell
40ccf3cd45
make the mark manipulation funcs use the caching
...
s:ClearMarks(), s:ClearAllMarks() and s:MarkNode() now use tell the
relevant path objects to update their mark cache
2008-06-09 22:04:31 +12:00
Martin Grenfell
1b17f945a3
refactor s:GetPath() to take marks into account
2008-06-09 21:23:43 +12:00
Martin Grenfell
421431b5df
correct a method header comment
2008-06-09 21:22:34 +12:00
Martin Grenfell
26983f1921
make oPath cache the marks associated with it
...
This is mainly for performance reasons. Calculating the marks anew
everytime oPath#MarkNames() is called greatly increases the rendering
time of the tree. It trippled it for just a handful of marks...
2008-06-09 21:18:30 +12:00
Martin Grenfell
1571274aec
refactor the Refresh() method for tree nodes
...
create a oFileTreeNode#Refresh() and make sure that Refresh() is always
called for dir nodes
2008-06-09 21:13:25 +12:00
Martin Grenfell
a111af5361
merge InitNerdTreeFromMark into InitNerdTree
2008-06-09 18:20:22 +12:00
Martin Grenfell
64514e3ceb
make :ClearMarks default to all marks on the current node
2008-06-09 13:21:44 +12:00
Martin Grenfell
bcc690a141
put cursor on the tree root by default
2008-06-09 13:01:48 +12:00
Martin Grenfell
397dee5cb1
remove all trailing whitespace
2008-06-09 12:46:53 +12:00
Martin Grenfell
dbb0677749
add :NERDTreeFromMark and corresponding function
2008-06-09 12:44:05 +12:00
Martin Grenfell
0fed73d83a
read marks when vim loads, not when a nerd tree loads
2008-06-09 12:40:04 +12:00
Martin Grenfell
3a437b402a
dont call RenderView() inside ReadMarks()
2008-06-09 12:37:20 +12:00
Martin Grenfell
1d9564db54
improve the error handling of RecallMark()
2008-06-08 21:53:25 +12:00
Martin Grenfell
c63e183acf
make OpenMark open the mark even if its not cached
...
if OpenMark is called for a mark for a file that isnt cached in the
tree, just open the file anyway and dont put attempt to put the
cursor on it etc
2008-06-08 21:07:13 +12:00
Martin Grenfell
6334e99192
be silent when opening files
2008-06-08 21:02:54 +12:00
Martin Grenfell
776aeef26f
bugfix for oTreeFileNode#MakeRoot()
...
if MakeRoot is called for a file, make sure that the nodes parent is
initialized
2008-06-08 20:53:43 +12:00
Martin Grenfell
1d6516b96d
add oTreeFileNode.CacheParent()
2008-06-08 20:53:12 +12:00
Martin Grenfell
995f7faec3
only attempt to open marks file if it exists
2008-06-08 19:16:38 +12:00
Martin Grenfell
140deac284
add NERDTreeMarksFile global var
...
NERDTreeMarksFile is full path of the file that stores the marks
2008-06-08 18:42:07 +12:00
Martin Grenfell
6e24eed04a
use a script lvl variable for NERDTreeSortStarIndex
2008-06-08 18:30:31 +12:00
Martin Grenfell
82c1fece9f
make MarkToRoot() work for nodes that arent cached
...
now if you go :MarkToRoot foo and foo points to a path that isnt
cached, a new tree node will be created and made root. Note that all
cached nodes will be lost as this is the same as opening a new nerd tree
2008-06-08 18:24:47 +12:00
Martin Grenfell
371379a860
read and write marks automatically
2008-06-08 17:58:38 +12:00
Martin Grenfell
0a91f3511e
add functions and :commands to read/write marks to a file
2008-06-08 17:57:13 +12:00
Martin Grenfell
192424429d
make marks global instead of tab based
2008-06-08 17:51:05 +12:00
Martin Grenfell
3092355648
add a modeline
2008-06-08 17:34:22 +12:00
Martin Grenfell
ae50662943
clear all marks when the tree is initialized
2008-06-07 18:12:05 +12:00
Martin Grenfell
8529b6f0e3
add s:ClearAllMark() and refactor to use it
2008-06-07 18:11:48 +12:00
Martin Grenfell
d718f1098c
put the cursor on the new root after :MarkToRoot
2008-06-07 18:06:32 +12:00
Martin Grenfell
0501fc825c
add :MarkToRoot command and a corresponding function
2008-06-07 17:40:18 +12:00
Martin Grenfell
05ce3ab896
add searchFromAbsoluteRoot flag to s:GetNodeForMark
2008-06-07 17:38:56 +12:00
Martin Grenfell
642c2b76fc
add oFileNode#MakeRoot() and refactor s:ChRoot()
...
not that as of this commit, you can now use the C mapping on a file node
and its parent dir node will become the new root
2008-06-07 17:36:14 +12:00
Martin Grenfell
6b7760e6e4
add s:AbsoluteTreeRoot()
2008-06-07 17:34:45 +12:00
Martin Grenfell
5cafc7018d
bugfix to s:GetNodeForMark()
2008-06-07 14:37:39 +12:00
Martin Grenfell
332756282a
add :ClearAllMarks
2008-06-07 13:57:02 +12:00
Martin Grenfell
bcc1180510
add :ClearMarks and bind it to s:ClearMarks()
2008-06-07 13:56:41 +12:00
Martin Grenfell
2ecd6ebd63
add s:MarkForNode() and refactor to use it
2008-06-07 12:45:21 +12:00
Martin Grenfell
5a4ef66db2
improve error messages when marks dont exist
2008-06-07 10:12:37 +12:00
Martin Grenfell
a537e1535c
some highlighting fixes for marks
2008-06-07 00:43:24 +12:00
Martin Grenfell
44e8534f1f
display marks before the symlink target
2008-06-07 00:43:00 +12:00
Martin Grenfell
c108a19881
add a redraw! in s:OpenMark()
...
if we were opening a mark (with :OpenMark) that was scrolled off the
screen, the tree window wasnt getting scrolled to the node
2008-06-07 00:24:51 +12:00
Martin Grenfell
5685fa7af4
add :OpenMark command
2008-06-06 23:33:48 +12:00
Martin Grenfell
990706b725
restrict mark names to alphanumeric + underscores
2008-06-06 23:33:01 +12:00
Martin Grenfell
6e60ecfee1
check for nonexistent marks
2008-06-06 23:19:28 +12:00
Martin Grenfell
219d16f61a
bugfix for stripping :Mark markup from a line
2008-06-06 23:13:05 +12:00
Martin Grenfell
5fd7441dbe
add highlighting for marks
2008-06-06 23:02:37 +12:00
Martin Grenfell
a5f86e1a8f
minor fix to method header
2008-06-06 22:55:20 +12:00
Martin Grenfell
782e60efc9
display marks on tree
2008-06-06 22:27:01 +12:00
Martin Grenfell
7b26dac959
add oPath#MarkNames()
2008-06-06 22:26:41 +12:00
Martin Grenfell
600f2cac14
make PutCursorOnNode open ancestors until target node is visible
2008-06-06 13:21:55 +12:00
Martin Grenfell
fb3c4f9212
add marking functionality
...
add ability to give a node a name and the abiliy to jump back to the
node for a given name
2008-06-05 22:41:05 +12:00
Martin Grenfell
24c1f6beab
add recurseUpward arg to s:PutCursorOnNode
...
makes it attempt to put the cursor on the treenodes parent (recursively)
if the target node is hidden
2008-06-05 22:15:08 +12:00
Martin Grenfell
a520080cc3
put cursor on new node after copying
2008-06-03 22:02:59 +12:00
Martin Grenfell
b747086137
strip trailing slashes off copy destination
2008-06-03 22:02:59 +12:00
Martin Grenfell
7a1dbcbdb0
fix a bug with refreshing after copying
2008-06-03 22:02:59 +12:00
Martin Grenfell
ce9fece626
fix screen jumping bug with &scrolloff
2008-05-29 15:27:42 +12:00
Martin Grenfell
80e0bca4dc
change version to 2.9.0
2008-05-17 16:24:48 +12:00
Martin Grenfell
04ea2eb0f7
apply Cory Echols' patch
...
adds :NERDTreeClose command and sets the filetype for the tree buffer to
"nerdtree"
2008-05-17 14:40:27 +12:00
Martin Grenfell
6018625170
bugfix: use #StrForOS when refreshing a path
2008-05-16 12:35:11 +12:00
Martin Grenfell
c36aaf55f8
bugfix: process files with single letter extension
...
dont ignore files like foo.c !
2008-05-16 12:22:23 +12:00
Martin Grenfell
6e7960ba94
convert tabs to spaces
...
not sure how those tabs got in there!
2008-05-16 11:51:39 +12:00
Martin Grenfell
0d62ffd5db
bugfix for paths on windows
...
delete oPath.NewMinimal cos it sucks and there is no need for it. It
was causing a bug with oPath.Equals on account of it wasnt correctly
determining whether a path found with s:GetSelectedPath() was a dir or a
file.
2008-05-10 18:29:20 +12:00
Martin Grenfell
510f890ee1
change to version 2.8.0.1
2008-05-10 16:28:01 +12:00
Martin Grenfell
06db1cdf2c
fix some formatting
2008-05-10 16:27:50 +12:00
Martin Grenfell
0eaaf6842c
improve path handling for windows
2008-05-10 16:26:32 +12:00
Martin Grenfell
2ed6524b9d
use oPath#StrForCd where appropriate
2008-05-10 15:55:50 +12:00
Martin Grenfell
fb7f66dc47
update oPath#Equals
2008-05-10 15:49:08 +12:00
Martin Grenfell
dcf9e956a7
minor bugfix
2008-05-10 15:45:05 +12:00
Martin Grenfell
8aafa66eac
handle trailing slashes inside oPath#Rename
...
previously the RenameCurrent() view function was removing trailing
slashes from the destination path before passing it to oPath, now oPath
handles the slashes
2008-05-10 15:33:11 +12:00
Martin Grenfell
f2ce7390b8
add oPath#StrForCd
2008-05-10 15:25:33 +12:00
Martin Grenfell
7275d89a35
add oPath#ExtractDriveLetter
...
If running windows, extract and cache the drive letter
2008-05-10 12:40:26 +12:00
Martin Grenfell
e6479c36f3
bugfix to prevent double escaping when refreshing a node
2008-05-04 21:37:36 +12:00
Martin Grenfell
da76bafaef
add oPath#StrForGlob() to return a string that can be used to call globpath with
...
note: the main motivation behind this is to encapsulate differences in OSs
2008-05-04 21:33:52 +12:00
Martin Grenfell
ec76876a74
added a comment note to clarify something
2008-05-04 21:31:38 +12:00
Martin Grenfell
ef1a466342
make the script able to handle strange filenames with random chars in them (eg {'$%^&)
2008-05-04 16:48:32 +12:00
Martin Grenfell
56dd5f05ab
fix the output of the rename prompt when it asks you to delete an old buffer
2008-05-04 14:22:59 +12:00
Martin Grenfell
7d1cc4ecec
bugfix: the script failed when being initialized on a dir containing spaces
2008-04-17 23:39:23 +12:00
Martin Grenfell
c008fb3983
changed the version to 2.8.0 for the next release
2008-03-31 18:22:29 +13:00
Martin Grenfell
91d5a52c39
added the NERDTreeShowLineNumbers option into the script
2008-03-10 20:39:30 +13:00
marty
1383e3fea7
bumped the version to 2.7.1
2008-01-18 22:29:34 +13:00
marty
020c635cca
changed the key for the filesystem menu to be mnemonic
2008-01-18 21:47:21 +13:00
marty
3badb3efae
changed the version to 2.7.0
2007-11-03 13:00:59 +13:00
marty
3b98b41740
removed a comment at the top of the file that is invalid now cos the help is split out
2007-11-03 11:26:55 +13:00
marty
e8592f0f5c
removed the doc file, the install call and the install function
2007-11-03 10:48:20 +13:00
marty
c95a366765
added the plugin and doc files
2007-11-03 10:23:09 +13:00