Meld alternative for MacOS
Tags: productivity, beginners
Published: 2019-08-18 19:32:21

## But Why?

I recently _"had to"_ switch from PC to a Mac because of the lack of support from Microsoft for their collaboration software, I mean Office 365, Skype for Business and of course Microsoft Teams. 

Now, while there are some _"hacky"_ ways to workaround these _"limitations"_ when having a daily driver that is a PC running Linux, the company policies do not allow for such things. 

That is why I opted to replace my beloved PC with a Mac, I figured that the Unix DNA of Mac OS would ensure that enough of my Linux workflow would  be able to survive the transition. 

😥 Sigh 😥

## What now ?

It's not that bad, I was able to reach my primary goal: run the required apps from Microsoft native and take advantage of the Mac Book Pros hardware, but I am now faced with a new problem: **I have to find replacements for the software I got accustomed to on my Linux OS and environment**. 

The first, I think, good solution I found was a replacement for the awesome tool that is [**MELD**](http://meldmerge.org/) because at the time of writing this, the *Mac OS port* is not yet finished and building from source is not something I want to do as a _*noob*_

![Snapshot from meldmerge.org](https://thepracticaldev.s3.amazonaws.com/i/db8z1vicim7mytwxsmzj.png)


So I am going to use the **Community Edition** of the [**IntelliJ IDE**](https://www.jetbrains.com/idea/download), it provides a lot of stuff I use daily, and am glad it offers a great diff tool that can handle **files** and **folders**.

## Why I like it.

The **coolest** feature that Jet Brains builds into all its products is the OMNI-search or Global Search, this makes it easy to find stuff that is indexed and then select the candidates I want to compare:

`tap SHIFT twice`
`type the filename`
`select file 1`
`repeat and select file 2`
`hit ⌘ + D once you have them`

![CTRL-D or CMD-D](https://thepracticaldev.s3.amazonaws.com/i/4n1jv2oklgdj9coxzc3n.png)

## What else ?

Of course It is much more useful than just for *melding* stuff, here are the other things it brings out of the box (and also what it doesn't): 


|    Feature        | Community Edition | 
|-------------------|-------------------|
| License           |Open-source, Apache 2.0|
| Java, Kotlin, Groovy, Scala |	✔ |		
| Android 	| ✔ |
| Maven, Gradle, SBT| ✔ |	
| Git, SVN, Mercurial| ✔ |
| Perforce | ✘ |	
| JavaScript, TypeScript | ✘ |		
| Java EE, Spring, Play, Grails, Others ... | ✘ |	
| Database Tools, SQL | ✘ |	
| Detecting Duplicates | ✘ |

But this does not mean it is limited to these, the plugin system that powers the IDE is a treasure trove of useful stuff you can explore, stuff like: 

>![markdown navigator](https://thepracticaldev.s3.amazonaws.com/i/qmseb3e08tbpj7fjjqjw.png)


>![python support](https://thepracticaldev.s3.amazonaws.com/i/vjzdjmxzf8hvsn8a3cas.png)

>`    . . .`

>![git toolbox](https://thepracticaldev.s3.amazonaws.com/i/j3iz2ebkvjhjmheept3n.png)


## Conclusion

This is a __workaround__ I will, at some point, build **MELD** and add it to my toolbox. While I can get away with `diff` and `diff3` on the terminal, I do like the assistance that I get in merging when using a GUI, and IntelliJ is simply not intended to be used as a command line tool.

Take care and compare,

Vio.