Re: Limiting ftplugins to relevant buffers

2013-01-23 Thread neilhwatson
Thanks for the help everyone.  I think I have it sorted out.

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread neilhwatson
Success with maps.  Thank you.  nmap buffer limits the map to that file type. 
 I tried the same with abbreviations using iab buffer.  This works too well.  
If I open another buffer of the same file type, the maps work but the 
abbreviations do not.  What did I do wrong?

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread Ben Fritz
On Tuesday, January 22, 2013 8:40:25 AM UTC-6, neilh...@gmail.com wrote:
 Success with maps.  Thank you.  nmap buffer limits the map to that file 
 type.  I tried the same with abbreviations using iab buffer.  This works 
 too well.  If I open another buffer of the same file type, the maps work but 
 the abbreviations do not.  What did I do wrong?

Where did you define the abbreviations? How did you edit the new buffer 
(specific command sequence)?

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread neilhwatson
On Tuesday, 22 January 2013 15:30:23 UTC-5, Ben Fritz  wrote:
 Where did you define the abbreviations? How did you edit the new buffer 
(specific command sequence)?

The abbreviations are on the ftplugin.  New buffer: :e newfile.cf

The plugin is here:
https://github.com/neilhwatson/vim_cf3/blob/dev/ftplugin/cf3.vim

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread Charles Campbell

neilhwat...@gmail.com wrote:

On Tuesday, 22 January 2013 15:30:23 UTC-5, Ben Fritz  wrote:

Where did you define the abbreviations? How did you edit the new buffer

(specific command sequence)?

The abbreviations are on the ftplugin.  New buffer: :e newfile.cf

The plugin is here:
https://github.com/neilhwatson/vim_cf3/blob/dev/ftplugin/cf3.vim


In your code: once you have

g:DisableCF3Ftplugin

existing, the ftplugin won't be loaded again.  Buffers are not filetypes; so 
you need to allow reloading of the ftplugin each time a buffer of the 
appropriate filetype is edited.

Regards,
C Campbell

--
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread neilhwatson

I have this:

if exists(g:DisableCF3Ftplugin)
finish
endif

But I do not have 'let g:DisableCF3Ftplugin=1' or anything similar in .vimrc or 
elsewhere.  How can this affect it?  If this is the cause I would expect the 
maps to not work, but they do.  Only abbreviations do not work in a new buffer.

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread Ben Fritz
On Tuesday, January 22, 2013 3:25:06 PM UTC-6, Charles Campbell wrote:
 neilhwat...@gmail.com wrote:
 
  On Tuesday, 22 January 2013 15:30:23 UTC-5, Ben Fritz  wrote:
 
  Where did you define the abbreviations? How did you edit the new buffer
 
  (specific command sequence)?
 
 
 
  The abbreviations are on the ftplugin.  New buffer: :e newfile.cf
 
 
 
  The plugin is here:
 
  https://github.com/neilhwatson/vim_cf3/blob/dev/ftplugin/cf3.vim
 
 
 
 In your code: once you have
 
 
 
 g:DisableCF3Ftplugin
 
 
 
 existing, the ftplugin won't be loaded again.  Buffers are not filetypes; so 
 you need to allow reloading of the ftplugin each time a buffer of the 
 appropriate filetype is edited.
 

I saw that too, but the plugin file never sets g:DisableCF3Ftplugin, it looks 
like it is simply a way to disable the ftplugin from taking effect if the user 
has it installed but doesn't want it to load for some reason, on any buffer.

I think the problem is actually here:

if !exists('g:DisableCFE3KeywordAbbreviations')
let g:DisableCFE3KeywordAbbreviations=1
call EnableCFE3KeywordAbbreviations()
endif

That should be a buffer-local variable, not a global variable, otherwise the 
abbreviations will only load on the first buffer.

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread Ben Fritz
On Tuesday, January 22, 2013 3:41:27 PM UTC-6, Ben Fritz wrote:
 
 I think the problem is actually here:
 
 if !exists('g:DisableCFE3KeywordAbbreviations')
 let g:DisableCFE3KeywordAbbreviations=1
 call EnableCFE3KeywordAbbreviations()
 endif
 
 That should be a buffer-local variable, not a global variable, otherwise the 
 abbreviations will only load on the first buffer.

Or if it's supposed to be a global disable, don't set it to true inside the 
plugin file; it would still be ok to check its existence.

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-22 Thread Tony Mechelynck

On 22/01/13 22:48, Ben Fritz wrote:

On Tuesday, January 22, 2013 3:41:27 PM UTC-6, Ben Fritz wrote:


I think the problem is actually here:

if !exists('g:DisableCFE3KeywordAbbreviations')
 let g:DisableCFE3KeywordAbbreviations=1
 call EnableCFE3KeywordAbbreviations()
endif

That should be a buffer-local variable, not a global variable, otherwise the 
abbreviations will only load on the first buffer.


Or if it's supposed to be a global disable, don't set it to true inside the 
plugin file; it would still be ok to check its existence.

One possible way to do it to test for both already-loaded and 
user-disabled would be (near the start of the ftplugin)


if exists ('g:DisableCFE3KeywordAbbreviations') || 
exists('b:DisableCFE3KeywordAbbreviations')

  finish
endif
let b:DisableCFE3KeywordAbbreviations = 1


Best regards,
Tony.
--
Children seldom misquote you.  In fact, they usually repeat word for
word what you shouldn't have said.

--
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-21 Thread sc
On Mon, Jan 21, 2013 at 01:03:59PM -0800, neilhwat...@gmail.com wrote:
 Greetings,

 I set custom ftplugin like this:
 au BufRead,BufNewFile *.cf set ft=cf3

 I edit a .cf file the plugin works correctly.  If I start a new buffer, say 
 *.html, the settings from the .cf plugin are active in this buffer. How can I 
 prevent this?

have you tried using setl instead of set?

sc

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-21 Thread neilhwatson
I tried this:
au BufRead,BufNewFile *.cf setlocal ft=cf3

The maps from the cf plugin still worked if my buffer was *.html.

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php


Re: Limiting ftplugins to relevant buffers

2013-01-21 Thread Ben Fritz
On Monday, January 21, 2013 3:24:33 PM UTC-6, neilh...@gmail.com wrote:
 I tried this:
 au BufRead,BufNewFile *.cf setlocal ft=cf3
 
 The maps from the cf plugin still worked if my buffer was *.html.

You need to set up buffer-local mappings if you don't want them to be defined 
globally to all of Vim.

:help :map-local

If you want to be extra careful you can undo them in the b:undo_ftplugin 
variable but if you're loading a new buffer this should not be necessary for 
your purposes. :he undo_ftplugin.

-- 
You received this message from the vim_use maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php